//                           _       _
// __      _____  __ ___   ___  __ _| |_ ___
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
//  \ V  V /  __/ (_| |\ V /| | (_| | ||  __/
//   \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
//
//  Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
//
//  CONTACT: hello@weaviate.io
//

// Code generated by go-swagger; DO NOT EDIT.

package rest

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"encoding/json"
)

var (
	// SwaggerJSON embedded version of the swagger document used at generation time
	SwaggerJSON json.RawMessage
	// FlatSwaggerJSON embedded flattened version of the swagger document used at generation time
	FlatSwaggerJSON json.RawMessage
)

func init() {
	SwaggerJSON = json.RawMessage([]byte(`{
  "consumes": [
    "application/yaml",
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "schemes": [
    "https"
  ],
  "swagger": "2.0",
  "info": {
    "description": "Cloud-native, modular vector database",
    "title": "Weaviate",
    "contact": {
      "name": "Weaviate",
      "url": "https://github.com/weaviate",
      "email": "hello@weaviate.io"
    },
    "version": "1.25.0-raft"
  },
  "basePath": "/v1",
  "paths": {
    "/": {
      "get": {
        "description": "Home. Discover the REST API",
        "operationId": "weaviate.root",
        "responses": {
          "200": {
            "description": "Weaviate is alive and ready to serve content",
            "schema": {
              "type": "object",
              "properties": {
                "links": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Link"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/live": {
      "get": {
        "description": "Determines whether the application is alive. Can be used for kubernetes liveness probe",
        "operationId": "weaviate.wellknown.liveness",
        "responses": {
          "200": {
            "description": "The application is able to respond to HTTP requests"
          }
        }
      }
    },
    "/.well-known/openid-configuration": {
      "get": {
        "description": "OIDC Discovery page, redirects to the token issuer if one is configured",
        "tags": [
          "well-known",
          "oidc",
          "discovery"
        ],
        "summary": "OIDC discovery information if OIDC auth is enabled",
        "responses": {
          "200": {
            "description": "Successful response, inspect body",
            "schema": {
              "type": "object",
              "properties": {
                "clientId": {
                  "description": "OAuth Client ID",
                  "type": "string"
                },
                "href": {
                  "description": "The Location to redirect to",
                  "type": "string"
                },
                "scopes": {
                  "description": "OAuth Scopes",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-omitempty": true
                }
              }
            }
          },
          "404": {
            "description": "Not found, no oidc provider present"
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false
      }
    },
    "/.well-known/ready": {
      "get": {
        "description": "Determines whether the application is ready to receive traffic. Can be used for kubernetes readiness probe.",
        "operationId": "weaviate.wellknown.readiness",
        "responses": {
          "200": {
            "description": "The application has completed its start-up routine and is ready to accept traffic."
          },
          "503": {
            "description": "The application is currently not able to serve traffic. If other horizontal replicas of weaviate are available and they are capable of receiving traffic, all traffic should be redirected there instead."
          }
        }
      }
    },
    "/backups/{backend}": {
      "post": {
        "description": "Starts a process of creating a backup for a set of classes",
        "tags": [
          "backups"
        ],
        "operationId": "backups.create",
        "parameters": [
          {
            "type": "string",
            "description": "Backup backend name e.g. filesystem, gcs, s3.",
            "name": "backend",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BackupCreateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Backup create process successfully started.",
            "schema": {
              "$ref": "#/definitions/BackupCreateResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup creation attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.backup"
        ]
      }
    },
    "/backups/{backend}/{id}": {
      "get": {
        "description": "Returns status of backup creation attempt for a set of classes",
        "tags": [
          "backups"
        ],
        "operationId": "backups.create.status",
        "parameters": [
          {
            "type": "string",
            "description": "Backup backend name e.g. filesystem, gcs, s3.",
            "name": "backend",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The ID of a backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Backup creation status successfully returned",
            "schema": {
              "$ref": "#/definitions/BackupCreateStatusResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Backup does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup restoration status attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.backup"
        ]
      }
    },
    "/backups/{backend}/{id}/restore": {
      "get": {
        "description": "Returns status of a backup restoration attempt for a set of classes",
        "tags": [
          "backups"
        ],
        "operationId": "backups.restore.status",
        "parameters": [
          {
            "type": "string",
            "description": "Backup backend name e.g. filesystem, gcs, s3.",
            "name": "backend",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The ID of a backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Backup restoration status successfully returned",
            "schema": {
              "$ref": "#/definitions/BackupRestoreStatusResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Backup does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.backup"
        ]
      },
      "post": {
        "description": "Starts a process of restoring a backup for a set of classes",
        "tags": [
          "backups"
        ],
        "operationId": "backups.restore",
        "parameters": [
          {
            "type": "string",
            "description": "Backup backend name e.g. filesystem, gcs, s3.",
            "name": "backend",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The ID of a backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BackupRestoreRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Backup restoration process successfully started.",
            "schema": {
              "$ref": "#/definitions/BackupRestoreResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Backup does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup restoration attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.backup"
        ]
      }
    },
    "/batch/objects": {
      "post": {
        "description": "Register new Objects in bulk. Provided meta-data and schema values are validated.",
        "tags": [
          "batch",
          "objects"
        ],
        "summary": "Creates new Objects based on a Object template as a batch.",
        "operationId": "batch.objects.create",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "fields": {
                  "description": "Define which fields need to be returned. Default value is ALL",
                  "type": "array",
                  "items": {
                    "type": "string",
                    "default": "ALL",
                    "enum": [
                      "ALL",
                      "class",
                      "schema",
                      "id",
                      "creationTimeUnix"
                    ]
                  }
                },
                "objects": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Object"
                  }
                }
              }
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Request succeeded, see response body to get detailed information about each batched item.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ObjectsGetResponse"
              }
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.add"
        ]
      },
      "delete": {
        "description": "Delete Objects in bulk that match a certain filter.",
        "tags": [
          "batch",
          "objects"
        ],
        "summary": "Deletes Objects based on a match filter as a batch.",
        "operationId": "batch.objects.delete",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchDelete"
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Request succeeded, see response body to get detailed information about each batched item.",
            "schema": {
              "$ref": "#/definitions/BatchDeleteResponse"
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      }
    },
    "/batch/references": {
      "post": {
        "description": "Register cross-references between any class items (objects or objects) in bulk.",
        "tags": [
          "batch",
          "references"
        ],
        "summary": "Creates new Cross-References between arbitrary classes in bulk.",
        "operationId": "batch.references.create",
        "parameters": [
          {
            "description": "A list of references to be batched. The ideal size depends on the used database connector. Please see the documentation of the used connector for help",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BatchReference"
              }
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Request Successful. Warning: A successful request does not guarantee that every batched reference was successfully created. Inspect the response body to see which references succeeded and which failed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BatchReferenceResponse"
              }
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.add"
        ]
      }
    },
    "/classifications/": {
      "post": {
        "description": "Trigger a classification based on the specified params. Classifications will run in the background, use GET /classifications/\u003cid\u003e to retrieve the status of your classification.",
        "tags": [
          "classifications"
        ],
        "summary": "Starts a classification.",
        "operationId": "classifications.post",
        "parameters": [
          {
            "description": "parameters to start a classification",
            "name": "params",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Classification"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successfully started classification.",
            "schema": {
              "$ref": "#/definitions/Classification"
            }
          },
          "400": {
            "description": "Incorrect request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.classifications.post"
        ]
      }
    },
    "/classifications/{id}": {
      "get": {
        "description": "Get status, results and metadata of a previously created classification",
        "tags": [
          "classifications"
        ],
        "summary": "View previously created classification",
        "operationId": "classifications.get",
        "parameters": [
          {
            "type": "string",
            "description": "classification id",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Found the classification, returned as body",
            "schema": {
              "$ref": "#/definitions/Classification"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Classification does not exist"
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.classifications.get"
        ]
      }
    },
    "/cluster/statistics": {
      "get": {
        "description": "Returns Raft cluster statistics of Weaviate DB.",
        "tags": [
          "cluster"
        ],
        "operationId": "cluster.get.statistics",
        "responses": {
          "200": {
            "description": "Cluster statistics successfully returned",
            "schema": {
              "$ref": "#/definitions/ClusterStatisticsResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup restoration status attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.cluster.statistics.get"
        ]
      }
    },
    "/graphql": {
      "post": {
        "description": "Get an object based on GraphQL",
        "tags": [
          "graphql"
        ],
        "summary": "Get a response based on GraphQL",
        "operationId": "graphql.post",
        "parameters": [
          {
            "description": "The GraphQL query request parameters.",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GraphQLQuery"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful query (with select).",
            "schema": {
              "$ref": "#/definitions/GraphQLResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query",
          "weaviate.local.query.meta",
          "weaviate.network.query",
          "weaviate.network.query.meta"
        ]
      }
    },
    "/graphql/batch": {
      "post": {
        "description": "Perform a batched GraphQL query",
        "tags": [
          "graphql"
        ],
        "summary": "Get a response based on GraphQL.",
        "operationId": "graphql.batch",
        "parameters": [
          {
            "description": "The GraphQL queries.",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GraphQLQueries"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful query (with select).",
            "schema": {
              "$ref": "#/definitions/GraphQLResponses"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query",
          "weaviate.local.query.meta",
          "weaviate.network.query",
          "weaviate.network.query.meta"
        ]
      }
    },
    "/meta": {
      "get": {
        "description": "Gives meta information about the server and can be used to provide information to another Weaviate instance that wants to interact with the current instance.",
        "tags": [
          "meta"
        ],
        "summary": "Returns meta information of the current Weaviate instance.",
        "operationId": "meta.get",
        "responses": {
          "200": {
            "description": "Successful response.",
            "schema": {
              "$ref": "#/definitions/Meta"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query.meta"
        ]
      }
    },
    "/nodes": {
      "get": {
        "description": "Returns status of Weaviate DB.",
        "tags": [
          "nodes"
        ],
        "operationId": "nodes.get",
        "parameters": [
          {
            "$ref": "#/parameters/CommonOutputVerbosityParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Nodes status successfully returned",
            "schema": {
              "$ref": "#/definitions/NodesStatusResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Backup does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup restoration status attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.nodes.status.get"
        ]
      }
    },
    "/nodes/{className}": {
      "get": {
        "description": "Returns status of Weaviate DB.",
        "tags": [
          "nodes"
        ],
        "operationId": "nodes.get.class",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "$ref": "#/parameters/CommonOutputVerbosityParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Nodes status successfully returned",
            "schema": {
              "$ref": "#/definitions/NodesStatusResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Backup does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup restoration status attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.nodes.status.get.class"
        ]
      }
    },
    "/objects": {
      "get": {
        "description": "Lists all Objects in reverse order of creation, owned by the user that belongs to the used token.",
        "tags": [
          "objects"
        ],
        "summary": "Get a list of Objects.",
        "operationId": "objects.list",
        "parameters": [
          {
            "$ref": "#/parameters/CommonAfterParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonOffsetParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonLimitParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonIncludeParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonSortParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonOrderParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonClassParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "schema": {
              "$ref": "#/definitions/ObjectsListResponse"
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query"
        ]
      },
      "post": {
        "description": "Registers a new Object. Provided meta-data and schema values are validated.",
        "tags": [
          "objects"
        ],
        "summary": "Create Objects between two Objects (object and subject).",
        "operationId": "objects.create",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Object created.",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.add"
        ]
      }
    },
    "/objects/validate": {
      "post": {
        "description": "Validate an Object's schema and meta-data. It has to be based on a schema, which is related to the given Object to be accepted by this validation.",
        "tags": [
          "objects"
        ],
        "summary": "Validate an Object based on a schema.",
        "operationId": "objects.validate",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully validated."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query.meta"
        ]
      }
    },
    "/objects/{className}/{id}": {
      "get": {
        "description": "Get a single data object",
        "tags": [
          "objects"
        ],
        "summary": "Get a specific Object based on its class and UUID. Also available as Websocket bus.",
        "operationId": "objects.class.get",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "$ref": "#/parameters/CommonIncludeParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonNodeNameParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "Request is well-formed (i.e., syntactically correct), but erroneous.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query"
        ]
      },
      "put": {
        "description": "Update an individual data object based on its class and uuid.",
        "tags": [
          "objects"
        ],
        "summary": "Update a class object based on its uuid",
        "operationId": "objects.class.put",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "The uuid of the data object to update.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully received.",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "delete": {
        "description": "Delete a single data object.",
        "tags": [
          "objects"
        ],
        "summary": "Delete object based on its class and UUID.",
        "operationId": "objects.class.delete",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted."
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "Request is well-formed (i.e., syntactically correct), but erroneous.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": true,
        "x-available-in-websocket": true,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "head": {
        "description": "Checks if a data object exists without retrieving it.",
        "tags": [
          "objects"
        ],
        "summary": "Checks object's existence based on its class and uuid.",
        "operationId": "objects.class.head",
        "parameters": [
          {
            "type": "string",
            "description": "The class name as defined in the schema",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "The uuid of the data object",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "204": {
            "description": "Object exists."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Object doesn't exist."
          },
          "422": {
            "description": "Request is well-formed (i.e., syntactically correct), but erroneous.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": true,
        "x-available-in-websocket": true,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "patch": {
        "description": "Update an individual data object based on its class and uuid. This method supports json-merge style patch semantics (RFC 7396). Provided meta-data and schema values are validated. LastUpdateTime is set to the time this function is called.",
        "tags": [
          "objects"
        ],
        "summary": "Update an Object based on its UUID (using patch semantics).",
        "operationId": "objects.class.patch",
        "parameters": [
          {
            "type": "string",
            "description": "The class name as defined in the schema",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "The uuid of the data object to update.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "RFC 7396-style patch, the body contains the object to merge into the existing object.",
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully applied. No content provided."
          },
          "400": {
            "description": "The patch-JSON is malformed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "The patch-JSON is valid but unprocessable.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      }
    },
    "/objects/{className}/{id}/references/{propertyName}": {
      "put": {
        "description": "Update all references of a property of a data object.",
        "tags": [
          "objects"
        ],
        "summary": "Replace all references to a class-property.",
        "operationId": "objects.class.references.put",
        "parameters": [
          {
            "type": "string",
            "description": "The class name as defined in the schema",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MultipleRef"
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully replaced all the references."
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Source object doesn't exist."
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the property exists or that it is a class?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "post": {
        "description": "Add a single reference to a class-property.",
        "tags": [
          "objects"
        ],
        "summary": "Add a single reference to a class-property.",
        "operationId": "objects.class.references.create",
        "parameters": [
          {
            "type": "string",
            "description": "The class name as defined in the schema",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleRef"
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully added the reference."
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Source object doesn't exist."
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the property exists or that it is a class?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "delete": {
        "description": "Delete the single reference that is given in the body from the list of references that this property of a data object has",
        "tags": [
          "objects"
        ],
        "summary": "Delete the single reference that is given in the body from the list of references that this property has.",
        "operationId": "objects.class.references.delete",
        "parameters": [
          {
            "type": "string",
            "description": "The class name as defined in the schema",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleRef"
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted."
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the property exists or that it is a class?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      }
    },
    "/objects/{id}": {
      "get": {
        "description": "Lists Objects.",
        "tags": [
          "objects"
        ],
        "summary": "Get a specific Object based on its UUID and a Object UUID. Also available as Websocket bus.",
        "operationId": "objects.get",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "$ref": "#/parameters/CommonIncludeParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query"
        ]
      },
      "put": {
        "description": "Updates an Object's data. Given meta-data and schema values are validated. LastUpdateTime is set to the time this function is called.",
        "tags": [
          "objects"
        ],
        "summary": "Update an Object based on its UUID.",
        "operationId": "objects.update",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully received.",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "delete": {
        "description": "Deletes an Object from the system.",
        "tags": [
          "objects"
        ],
        "summary": "Delete an Object based on its UUID.",
        "operationId": "objects.delete",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": true,
        "x-available-in-websocket": true,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "head": {
        "description": "Checks if an Object exists in the system.",
        "tags": [
          "objects"
        ],
        "summary": "Checks Object's existence based on its UUID.",
        "operationId": "objects.head",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "Object exists."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Object doesn't exist."
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": true,
        "x-available-in-websocket": true,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "patch": {
        "description": "Updates an Object. This method supports json-merge style patch semantics (RFC 7396). Provided meta-data and schema values are validated. LastUpdateTime is set to the time this function is called.",
        "tags": [
          "objects"
        ],
        "summary": "Update an Object based on its UUID (using patch semantics).",
        "operationId": "objects.patch",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "RFC 7396-style patch, the body contains the object to merge into the existing object.",
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          {
            "$ref": "#/parameters/CommonConsistencyLevelParameterQuery"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully applied. No content provided."
          },
          "400": {
            "description": "The patch-JSON is malformed."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "The patch-JSON is valid but unprocessable.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      }
    },
    "/objects/{id}/references/{propertyName}": {
      "put": {
        "description": "Replace all references to a class-property.",
        "tags": [
          "objects"
        ],
        "summary": "Replace all references to a class-property.",
        "operationId": "objects.references.update",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MultipleRef"
            }
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully replaced all the references."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the property exists or that it is a class?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "post": {
        "description": "Add a single reference to a class-property.",
        "tags": [
          "objects"
        ],
        "summary": "Add a single reference to a class-property.",
        "operationId": "objects.references.create",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleRef"
            }
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully added the reference."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the property exists or that it is a class?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "delete": {
        "description": "Delete the single reference that is given in the body from the list of references that this property has.",
        "tags": [
          "objects"
        ],
        "summary": "Delete the single reference that is given in the body from the list of references that this property has.",
        "operationId": "objects.references.delete",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleRef"
            }
          },
          {
            "$ref": "#/parameters/CommonTenantParameterQuery"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      }
    },
    "/schema": {
      "get": {
        "tags": [
          "schema"
        ],
        "summary": "Dump the current the database schema.",
        "operationId": "schema.dump",
        "parameters": [
          {
            "type": "boolean",
            "default": true,
            "description": "If consistency is true, the request will be proxied to the leader to ensure strong schema consistency",
            "name": "consistency",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully dumped the database schema.",
            "schema": {
              "$ref": "#/definitions/Schema"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.query.meta"
        ]
      },
      "post": {
        "tags": [
          "schema"
        ],
        "summary": "Create a new Object class in the schema.",
        "operationId": "schema.objects.create",
        "parameters": [
          {
            "name": "objectClass",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Class"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Added the new Object class to the schema.",
            "schema": {
              "$ref": "#/definitions/Class"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid Object class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.add.meta"
        ]
      }
    },
    "/schema/cluster-status": {
      "get": {
        "tags": [
          "schema"
        ],
        "operationId": "schema.cluster.status",
        "responses": {
          "200": {
            "description": "The schema in the cluster is in sync.",
            "schema": {
              "$ref": "#/definitions/SchemaClusterStatus"
            }
          },
          "500": {
            "description": "The schema is either out of sync (see response body) or the sync check could not be completed.",
            "schema": {
              "$ref": "#/definitions/SchemaClusterStatus"
            }
          }
        }
      }
    },
    "/schema/{className}": {
      "get": {
        "tags": [
          "schema"
        ],
        "summary": "Get a single class from the schema",
        "operationId": "schema.objects.get",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "default": true,
            "description": "If consistency is true, the request will be proxied to the leader to ensure strong schema consistency",
            "name": "consistency",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "Found the Class, returned as body",
            "schema": {
              "$ref": "#/definitions/Class"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "This class does not exist"
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.get.meta"
        ]
      },
      "put": {
        "description": "Use this endpoint to alter an existing class in the schema. Note that not all settings are mutable. If an error about immutable fields is returned and you still need to update this particular setting, you will have to delete the class (and the underlying data) and recreate. This endpoint cannot be used to modify properties. Instead use POST /v1/schema/{className}/properties. A typical use case for this endpoint is to update configuration, such as the vectorIndexConfig. Note that even in mutable sections, such as vectorIndexConfig, some fields may be immutable.",
        "tags": [
          "schema"
        ],
        "summary": "Update settings of an existing schema class",
        "operationId": "schema.objects.update",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "name": "objectClass",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Class"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Class was updated successfully",
            "schema": {
              "$ref": "#/definitions/Class"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Class to be updated does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid update attempt",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.manipulate.meta"
        ]
      },
      "delete": {
        "tags": [
          "schema"
        ],
        "summary": "Remove an Object class (and all data in the instances) from the schema.",
        "operationId": "schema.objects.delete",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Removed the Object class from the schema."
          },
          "400": {
            "description": "Could not delete the Object class.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.manipulate.meta"
        ]
      }
    },
    "/schema/{className}/properties": {
      "post": {
        "tags": [
          "schema"
        ],
        "summary": "Add a property to an Object class.",
        "operationId": "schema.objects.properties.add",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Property"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Added the property.",
            "schema": {
              "$ref": "#/definitions/Property"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid property.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.manipulate.meta"
        ]
      }
    },
    "/schema/{className}/shards": {
      "get": {
        "tags": [
          "schema"
        ],
        "summary": "Get the shards status of an Object class",
        "operationId": "schema.objects.shards.get",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Found the status of the shards, returned as body",
            "schema": {
              "$ref": "#/definitions/ShardStatusList"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "This class does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.get.meta"
        ]
      }
    },
    "/schema/{className}/shards/{shardName}": {
      "put": {
        "description": "Update shard status of an Object Class",
        "tags": [
          "schema"
        ],
        "operationId": "schema.objects.shards.update",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "shardName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ShardStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shard status was updated successfully",
            "schema": {
              "$ref": "#/definitions/ShardStatus"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Shard to be updated does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid update attempt",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.manipulate.meta"
        ]
      }
    },
    "/schema/{className}/tenants": {
      "get": {
        "description": "get all tenants from a specific class",
        "tags": [
          "schema"
        ],
        "operationId": "tenants.get",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "default": true,
            "description": "If consistency is true, the request will be proxied to the leader to ensure strong schema consistency",
            "name": "consistency",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "tenants from specified class.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Tenant"
              }
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid Tenant class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "put": {
        "description": "Update tenant of a specific class",
        "tags": [
          "schema"
        ],
        "operationId": "tenants.update",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Tenant"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated tenants of the specified class",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Tenant"
              }
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid Tenant class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "post": {
        "description": "Create a new tenant for a specific class",
        "tags": [
          "schema"
        ],
        "operationId": "tenants.create",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Tenant"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Added new tenants to the specified class",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Tenant"
              }
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid Tenant class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "description": "delete tenants from a specific class",
        "tags": [
          "schema"
        ],
        "operationId": "tenants.delete",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "name": "tenants",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted tenants from specified class."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid Tenant class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/schema/{className}/tenants/{tenantName}": {
      "head": {
        "description": "Check if a tenant exists for a specific class",
        "tags": [
          "schema"
        ],
        "operationId": "tenant.exists",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "tenantName",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "default": true,
            "description": "If consistency is true, the request will be proxied to the leader to ensure strong schema consistency",
            "name": "consistency",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "The tenant exists in the specified class"
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "The tenant not found"
          },
          "422": {
            "description": "Invalid Tenant class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "AdditionalProperties": {
      "description": "Additional Meta information about a single object object.",
      "type": "object",
      "additionalProperties": {
        "type": "object"
      }
    },
    "BM25Config": {
      "description": "tuning parameters for the BM25 algorithm",
      "type": "object",
      "properties": {
        "b": {
          "description": "calibrates term-weight scaling based on the document length",
          "type": "number",
          "format": "float"
        },
        "k1": {
          "description": "calibrates term-weight scaling based on the term frequency within a document",
          "type": "number",
          "format": "float"
        }
      }
    },
    "BackupConfig": {
      "description": "Backup custom configuration",
      "type": "object",
      "properties": {
        "CPUPercentage": {
          "description": "Desired CPU core utilization ranging from 1%-80%",
          "type": "integer",
          "default": 50,
          "maximum": 80,
          "minimum": 1,
          "x-nullable": false
        },
        "ChunkSize": {
          "description": "Weaviate will attempt to come close the specified size, with a minimum of 2MB, default of 128MB, and a maximum of 512MB",
          "type": "integer",
          "default": 128,
          "maximum": 512,
          "minimum": 2,
          "x-nullable": false
        },
        "CompressionLevel": {
          "description": "compression level used by compression algorithm",
          "type": "string",
          "default": "DefaultCompression",
          "enum": [
            "DefaultCompression",
            "BestSpeed",
            "BestCompression"
          ],
          "x-nullable": false
        }
      }
    },
    "BackupCreateRequest": {
      "description": "Request body for creating a backup of a set of classes",
      "properties": {
        "config": {
          "description": "Custom configuration for the backup creation process",
          "type": "object",
          "$ref": "#/definitions/BackupConfig"
        },
        "exclude": {
          "description": "List of classes to exclude from the backup creation process",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "id": {
          "description": "The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
          "type": "string"
        },
        "include": {
          "description": "List of classes to include in the backup creation process",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "BackupCreateResponse": {
      "description": "The definition of a backup create response body",
      "properties": {
        "backend": {
          "description": "Backup backend name e.g. filesystem, gcs, s3.",
          "type": "string"
        },
        "classes": {
          "description": "The list of classes for which the backup creation process was started",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "error": {
          "description": "error message if creation failed",
          "type": "string"
        },
        "id": {
          "description": "The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
          "type": "string"
        },
        "path": {
          "description": "destination path of backup files proper to selected backend",
          "type": "string"
        },
        "status": {
          "description": "phase of backup creation process",
          "type": "string",
          "default": "STARTED",
          "enum": [
            "STARTED",
            "TRANSFERRING",
            "TRANSFERRED",
            "SUCCESS",
            "FAILED"
          ]
        }
      }
    },
    "BackupCreateStatusResponse": {
      "description": "The definition of a backup create metadata",
      "properties": {
        "backend": {
          "description": "Backup backend name e.g. filesystem, gcs, s3.",
          "type": "string"
        },
        "error": {
          "description": "error message if creation failed",
          "type": "string"
        },
        "id": {
          "description": "The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
          "type": "string"
        },
        "path": {
          "description": "destination path of backup files proper to selected backend",
          "type": "string"
        },
        "status": {
          "description": "phase of backup creation process",
          "type": "string",
          "default": "STARTED",
          "enum": [
            "STARTED",
            "TRANSFERRING",
            "TRANSFERRED",
            "SUCCESS",
            "FAILED"
          ]
        }
      }
    },
    "BackupRestoreRequest": {
      "description": "Request body for restoring a backup for a set of classes",
      "properties": {
        "config": {
          "description": "Custom configuration for the backup restoration process",
          "type": "object",
          "$ref": "#/definitions/RestoreConfig"
        },
        "exclude": {
          "description": "List of classes to exclude from the backup restoration process",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "include": {
          "description": "List of classes to include in the backup restoration process",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "node_mapping": {
          "description": "Allows overriding the node names stored in the backup with different ones. Useful when restoring backups to a different environment.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "BackupRestoreResponse": {
      "description": "The definition of a backup restore response body",
      "properties": {
        "backend": {
          "description": "Backup backend name e.g. filesystem, gcs, s3.",
          "type": "string"
        },
        "classes": {
          "description": "The list of classes for which the backup restoration process was started",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "error": {
          "description": "error message if restoration failed",
          "type": "string"
        },
        "id": {
          "description": "The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
          "type": "string"
        },
        "path": {
          "description": "destination path of backup files proper to selected backend",
          "type": "string"
        },
        "status": {
          "description": "phase of backup restoration process",
          "type": "string",
          "default": "STARTED",
          "enum": [
            "STARTED",
            "TRANSFERRING",
            "TRANSFERRED",
            "SUCCESS",
            "FAILED"
          ]
        }
      }
    },
    "BackupRestoreStatusResponse": {
      "description": "The definition of a backup restore metadata",
      "properties": {
        "backend": {
          "description": "Backup backend name e.g. filesystem, gcs, s3.",
          "type": "string"
        },
        "error": {
          "description": "error message if restoration failed",
          "type": "string"
        },
        "id": {
          "description": "The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
          "type": "string"
        },
        "path": {
          "description": "destination path of backup files proper to selected backup backend",
          "type": "string"
        },
        "status": {
          "description": "phase of backup restoration process",
          "type": "string",
          "default": "STARTED",
          "enum": [
            "STARTED",
            "TRANSFERRING",
            "TRANSFERRED",
            "SUCCESS",
            "FAILED"
          ]
        }
      }
    },
    "BatchDelete": {
      "type": "object",
      "properties": {
        "dryRun": {
          "description": "If true, objects will not be deleted yet, but merely listed. Defaults to false.",
          "type": "boolean",
          "default": false
        },
        "match": {
          "description": "Outlines how to find the objects to be deleted.",
          "type": "object",
          "properties": {
            "class": {
              "description": "Class (name) which objects will be deleted.",
              "type": "string",
              "example": "City"
            },
            "where": {
              "description": "Filter to limit the objects to be deleted.",
              "type": "object",
              "$ref": "#/definitions/WhereFilter"
            }
          }
        },
        "output": {
          "description": "Controls the verbosity of the output, possible values are: \"minimal\", \"verbose\". Defaults to \"minimal\".",
          "type": "string",
          "default": "minimal"
        }
      }
    },
    "BatchDeleteResponse": {
      "description": "Delete Objects response.",
      "type": "object",
      "properties": {
        "dryRun": {
          "description": "If true, objects will not be deleted yet, but merely listed. Defaults to false.",
          "type": "boolean",
          "default": false
        },
        "match": {
          "description": "Outlines how to find the objects to be deleted.",
          "type": "object",
          "properties": {
            "class": {
              "description": "Class (name) which objects will be deleted.",
              "type": "string",
              "example": "City"
            },
            "where": {
              "description": "Filter to limit the objects to be deleted.",
              "type": "object",
              "$ref": "#/definitions/WhereFilter"
            }
          }
        },
        "output": {
          "description": "Controls the verbosity of the output, possible values are: \"minimal\", \"verbose\". Defaults to \"minimal\".",
          "type": "string",
          "default": "minimal"
        },
        "results": {
          "type": "object",
          "properties": {
            "failed": {
              "description": "How many objects should have been deleted but could not be deleted.",
              "type": "number",
              "format": "int64",
              "x-omitempty": false
            },
            "limit": {
              "description": "The most amount of objects that can be deleted in a single query, equals QUERY_MAXIMUM_RESULTS.",
              "type": "number",
              "format": "int64",
              "x-omitempty": false
            },
            "matches": {
              "description": "How many objects were matched by the filter.",
              "type": "number",
              "format": "int64",
              "x-omitempty": false
            },
            "objects": {
              "description": "With output set to \"minimal\" only objects with error occurred will the be described. Successfully deleted objects would be omitted. Output set to \"verbose\" will list all of the objets with their respective statuses.",
              "type": "array",
              "items": {
                "description": "Results for this specific Object.",
                "format": "object",
                "properties": {
                  "errors": {
                    "$ref": "#/definitions/ErrorResponse"
                  },
                  "id": {
                    "description": "ID of the Object.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "status": {
                    "type": "string",
                    "default": "SUCCESS",
                    "enum": [
                      "SUCCESS",
                      "DRYRUN",
                      "FAILED"
                    ]
                  }
                }
              }
            },
            "successful": {
              "description": "How many objects were successfully deleted in this round.",
              "type": "number",
              "format": "int64",
              "x-omitempty": false
            }
          }
        }
      }
    },
    "BatchReference": {
      "properties": {
        "from": {
          "description": "Long-form beacon-style URI to identify the source of the cross-ref including the property name. Should be in the form of weaviate://localhost/\u003ckinds\u003e/\u003cuuid\u003e/\u003cclassName\u003e/\u003cpropertyName\u003e, where \u003ckinds\u003e must be one of 'objects', 'objects' and \u003cclassName\u003e and \u003cpropertyName\u003e must represent the cross-ref property of source class to be used.",
          "type": "string",
          "format": "uri",
          "example": "weaviate://localhost/Zoo/a5d09582-4239-4702-81c9-92a6e0122bb4/hasAnimals"
        },
        "tenant": {
          "description": "Name of the reference tenant.",
          "type": "string"
        },
        "to": {
          "description": "Short-form URI to point to the cross-ref. Should be in the form of weaviate://localhost/\u003cuuid\u003e for the example of a local cross-ref to an object",
          "type": "string",
          "format": "uri",
          "example": "weaviate://localhost/97525810-a9a5-4eb0-858a-71449aeb007f"
        }
      }
    },
    "BatchReferenceResponse": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/definitions/BatchReference"
        },
        {
          "properties": {
            "result": {
              "description": "Results for this specific reference.",
              "format": "object",
              "properties": {
                "errors": {
                  "$ref": "#/definitions/ErrorResponse"
                },
                "status": {
                  "type": "string",
                  "default": "SUCCESS",
                  "enum": [
                    "SUCCESS",
                    "PENDING",
                    "FAILED"
                  ]
                }
              }
            }
          }
        }
      ]
    },
    "BatchStats": {
      "description": "The summary of a nodes batch queue congestion status.",
      "properties": {
        "queueLength": {
          "description": "How many objects are currently in the batch queue.",
          "type": "number",
          "format": "int",
          "x-nullable": true,
          "x-omitempty": true
        },
        "ratePerSecond": {
          "description": "How many objects are approximately processed from the batch queue per second.",
          "type": "number",
          "format": "int",
          "x-omitempty": false
        }
      }
    },
    "C11yExtension": {
      "description": "A resource describing an extension to the contextinoary, containing both the identifier and the definition of the extension",
      "properties": {
        "concept": {
          "description": "The new concept you want to extend. Must be an all-lowercase single word, or a space delimited compound word. Examples: 'foobarium', 'my custom concept'",
          "type": "string",
          "example": "foobarium"
        },
        "definition": {
          "description": "A list of space-delimited words or a sentence describing what the custom concept is about. Avoid using the custom concept itself. An Example definition for the custom concept 'foobarium': would be 'a naturally occurring element which can only be seen by programmers'",
          "type": "string"
        },
        "weight": {
          "description": "Weight of the definition of the new concept where 1='override existing definition entirely' and 0='ignore custom definition'. Note that if the custom concept is not present in the contextionary yet, the weight cannot be less than 1.",
          "type": "number",
          "format": "float"
        }
      }
    },
    "C11yNearestNeighbors": {
      "description": "C11y function to show the nearest neighbors to a word.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "distance": {
            "type": "number",
            "format": "float"
          },
          "word": {
            "type": "string"
          }
        }
      }
    },
    "C11yVector": {
      "description": "A Vector in the Contextionary",
      "type": "array",
      "items": {
        "type": "number",
        "format": "float"
      }
    },
    "C11yVectorBasedQuestion": {
      "description": "Receive question based on array of classes, properties and values.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "classProps": {
            "description": "Vectorized properties.",
            "type": "array",
            "maxItems": 300,
            "minItems": 300,
            "items": {
              "type": "object",
              "properties": {
                "propsVectors": {
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "float"
                  }
                },
                "value": {
                  "description": "String with valuename.",
                  "type": "string"
                }
              }
            }
          },
          "classVectors": {
            "description": "Vectorized classname.",
            "type": "array",
            "maxItems": 300,
            "minItems": 300,
            "items": {
              "type": "number",
              "format": "float"
            }
          }
        }
      }
    },
    "C11yWordsResponse": {
      "description": "An array of available words and contexts.",
      "properties": {
        "concatenatedWord": {
          "description": "Weighted results for all words",
          "type": "object",
          "properties": {
            "concatenatedNearestNeighbors": {
              "$ref": "#/definitions/C11yNearestNeighbors"
            },
            "concatenatedVector": {
              "$ref": "#/definitions/C11yVector"
            },
            "concatenatedWord": {
              "type": "string"
            },
            "singleWords": {
              "type": "array",
              "items": {
                "format": "string"
              }
            }
          }
        },
        "individualWords": {
          "description": "Weighted results for per individual word",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "info": {
                "type": "object",
                "properties": {
                  "nearestNeighbors": {
                    "$ref": "#/definitions/C11yNearestNeighbors"
                  },
                  "vector": {
                    "$ref": "#/definitions/C11yVector"
                  }
                }
              },
              "present": {
                "type": "boolean"
              },
              "word": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "Class": {
      "type": "object",
      "properties": {
        "class": {
          "description": "Name of the class as URI relative to the schema URL.",
          "type": "string"
        },
        "description": {
          "description": "Description of the class.",
          "type": "string"
        },
        "invertedIndexConfig": {
          "$ref": "#/definitions/InvertedIndexConfig"
        },
        "moduleConfig": {
          "description": "Configuration specific to modules this Weaviate instance has installed",
          "type": "object"
        },
        "multiTenancyConfig": {
          "$ref": "#/definitions/MultiTenancyConfig"
        },
        "properties": {
          "description": "The properties of the class.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Property"
          }
        },
        "replicationConfig": {
          "$ref": "#/definitions/ReplicationConfig"
        },
        "shardingConfig": {
          "description": "Manage how the index should be sharded and distributed in the cluster",
          "type": "object"
        },
        "vectorConfig": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/VectorConfig"
          }
        },
        "vectorIndexConfig": {
          "description": "Vector-index config, that is specific to the type of index selected in vectorIndexType",
          "type": "object"
        },
        "vectorIndexType": {
          "description": "Name of the vector index to use, eg. (HNSW)",
          "type": "string"
        },
        "vectorizer": {
          "description": "Specify how the vectors for this class should be determined. The options are either 'none' - this means you have to import a vector with each object yourself - or the name of a module that provides vectorization capabilities, such as 'text2vec-contextionary'. If left empty, it will use the globally configured default which can itself either be 'none' or a specific module.",
          "type": "string"
        }
      }
    },
    "Classification": {
      "description": "Manage classifications, trigger them and view status of past classifications.",
      "type": "object",
      "properties": {
        "basedOnProperties": {
          "description": "base the text-based classification on these fields (of type text)",
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "description"
          ]
        },
        "class": {
          "description": "class (name) which is used in this classification",
          "type": "string",
          "example": "City"
        },
        "classifyProperties": {
          "description": "which ref-property to set as part of the classification",
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "inCountry"
          ]
        },
        "error": {
          "description": "error message if status == failed",
          "type": "string",
          "default": "",
          "example": "classify xzy: something went wrong"
        },
        "filters": {
          "type": "object",
          "properties": {
            "sourceWhere": {
              "description": "limit the objects to be classified",
              "type": "object",
              "$ref": "#/definitions/WhereFilter"
            },
            "targetWhere": {
              "description": "Limit the possible sources when using an algorithm which doesn't really on training data, e.g. 'contextual'. When using an algorithm with a training set, such as 'knn', limit the training set instead",
              "type": "object",
              "$ref": "#/definitions/WhereFilter"
            },
            "trainingSetWhere": {
              "description": "Limit the training objects to be considered during the classification. Can only be used on types with explicit training sets, such as 'knn'",
              "type": "object",
              "$ref": "#/definitions/WhereFilter"
            }
          }
        },
        "id": {
          "description": "ID to uniquely identify this classification run",
          "type": "string",
          "format": "uuid",
          "example": "ee722219-b8ec-4db1-8f8d-5150bb1a9e0c"
        },
        "meta": {
          "description": "additional meta information about the classification",
          "type": "object",
          "$ref": "#/definitions/ClassificationMeta"
        },
        "settings": {
          "description": "classification-type specific settings",
          "type": "object"
        },
        "status": {
          "description": "status of this classification",
          "type": "string",
          "enum": [
            "running",
            "completed",
            "failed"
          ],
          "example": "running"
        },
        "type": {
          "description": "which algorithm to use for classifications",
          "type": "string"
        }
      }
    },
    "ClassificationMeta": {
      "description": "Additional information to a specific classification",
      "type": "object",
      "properties": {
        "completed": {
          "description": "time when this classification finished",
          "type": "string",
          "format": "date-time",
          "example": "2017-07-21T17:32:28Z"
        },
        "count": {
          "description": "number of objects which were taken into consideration for classification",
          "type": "integer",
          "example": 147
        },
        "countFailed": {
          "description": "number of objects which could not be classified - see error message for details",
          "type": "integer",
          "example": 7
        },
        "countSucceeded": {
          "description": "number of objects successfully classified",
          "type": "integer",
          "example": 140
        },
        "started": {
          "description": "time when this classification was started",
          "type": "string",
          "format": "date-time",
          "example": "2017-07-21T17:32:28Z"
        }
      }
    },
    "ClusterStatisticsResponse": {
      "description": "The cluster statistics of all of the Weaviate nodes",
      "type": "object",
      "properties": {
        "statistics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Statistics"
          }
        },
        "synchronized": {
          "type": "boolean",
          "x-omitempty": false
        }
      }
    },
    "Deprecation": {
      "type": "object",
      "properties": {
        "apiType": {
          "description": "Describes which API is effected, usually one of: REST, GraphQL",
          "type": "string"
        },
        "id": {
          "description": "The id that uniquely identifies this particular deprecations (mostly used internally)",
          "type": "string"
        },
        "locations": {
          "description": "The locations within the specified API affected by this deprecation",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "mitigation": {
          "description": "User-required object to not be affected by the (planned) removal",
          "type": "string"
        },
        "msg": {
          "description": "What this deprecation is about",
          "type": "string"
        },
        "plannedRemovalVersion": {
          "description": "A best-effort guess of which upcoming version will remove the feature entirely",
          "type": "string"
        },
        "removedIn": {
          "description": "If the feature has already been removed, it was removed in this version",
          "type": "string",
          "x-nullable": true
        },
        "removedTime": {
          "description": "If the feature has already been removed, it was removed at this timestamp",
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "sinceTime": {
          "description": "The deprecation was introduced in this version",
          "type": "string",
          "format": "date-time"
        },
        "sinceVersion": {
          "description": "The deprecation was introduced in this version",
          "type": "string"
        },
        "status": {
          "description": "Whether the problematic API functionality is deprecated (planned to be removed) or already removed",
          "type": "string"
        }
      }
    },
    "ErrorResponse": {
      "description": "An error response given by Weaviate end-points.",
      "type": "object",
      "properties": {
        "error": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "GeoCoordinates": {
      "properties": {
        "latitude": {
          "description": "The latitude of the point on earth in decimal form",
          "type": "number",
          "format": "float",
          "x-nullable": true
        },
        "longitude": {
          "description": "The longitude of the point on earth in decimal form",
          "type": "number",
          "format": "float",
          "x-nullable": true
        }
      }
    },
    "GraphQLError": {
      "description": "An error response caused by a GraphQL query.",
      "properties": {
        "locations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "column": {
                "type": "integer",
                "format": "int64"
              },
              "line": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GraphQLQueries": {
      "description": "A list of GraphQL queries.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/GraphQLQuery"
      }
    },
    "GraphQLQuery": {
      "description": "GraphQL query based on: http://facebook.github.io/graphql/.",
      "type": "object",
      "properties": {
        "operationName": {
          "description": "The name of the operation if multiple exist in the query.",
          "type": "string"
        },
        "query": {
          "description": "Query based on GraphQL syntax.",
          "type": "string"
        },
        "variables": {
          "description": "Additional variables for the query.",
          "type": "object"
        }
      }
    },
    "GraphQLResponse": {
      "description": "GraphQL based response: http://facebook.github.io/graphql/.",
      "properties": {
        "data": {
          "description": "GraphQL data object.",
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/JsonObject"
          }
        },
        "errors": {
          "description": "Array with errors.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/GraphQLError"
          },
          "x-omitempty": true
        }
      }
    },
    "GraphQLResponses": {
      "description": "A list of GraphQL responses.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/GraphQLResponse"
      }
    },
    "InvertedIndexConfig": {
      "description": "Configure the inverted index built into Weaviate",
      "type": "object",
      "properties": {
        "bm25": {
          "$ref": "#/definitions/BM25Config"
        },
        "cleanupIntervalSeconds": {
          "description": "Asynchronous index clean up happens every n seconds",
          "type": "number",
          "format": "int"
        },
        "indexNullState": {
          "description": "Index each object with the null state",
          "type": "boolean"
        },
        "indexPropertyLength": {
          "description": "Index length of properties",
          "type": "boolean"
        },
        "indexTimestamps": {
          "description": "Index each object by its internal timestamps",
          "type": "boolean"
        },
        "stopwords": {
          "$ref": "#/definitions/StopwordConfig"
        }
      }
    },
    "JsonObject": {
      "description": "JSON object value.",
      "type": "object"
    },
    "Link": {
      "type": "object",
      "properties": {
        "documentationHref": {
          "description": "weaviate documentation about this resource group",
          "type": "string"
        },
        "href": {
          "description": "target of the link",
          "type": "string"
        },
        "name": {
          "description": "human readable name of the resource group",
          "type": "string"
        },
        "rel": {
          "description": "relationship if both resources are related, e.g. 'next', 'previous', 'parent', etc.",
          "type": "string"
        }
      }
    },
    "Meta": {
      "description": "Contains meta information of the current Weaviate instance.",
      "type": "object",
      "properties": {
        "hostname": {
          "description": "The url of the host.",
          "type": "string",
          "format": "url"
        },
        "modules": {
          "description": "Module-specific meta information",
          "type": "object"
        },
        "version": {
          "description": "Version of weaviate you are currently running",
          "type": "string"
        }
      }
    },
    "MultiTenancyConfig": {
      "description": "Configuration related to multi-tenancy within a class",
      "properties": {
        "autoTenantCreation": {
          "description": "Nonexistent tenants should (not) be created implicitly",
          "type": "boolean",
          "x-omitempty": false
        },
        "enabled": {
          "description": "Whether or not multi-tenancy is enabled for this class",
          "type": "boolean",
          "x-omitempty": false
        }
      }
    },
    "MultipleRef": {
      "description": "Multiple instances of references to other objects.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/SingleRef"
      }
    },
    "NestedProperty": {
      "type": "object",
      "properties": {
        "dataType": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        },
        "indexFilterable": {
          "type": "boolean",
          "x-nullable": true
        },
        "indexSearchable": {
          "type": "boolean",
          "x-nullable": true
        },
        "name": {
          "type": "string"
        },
        "nestedProperties": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NestedProperty"
          },
          "x-omitempty": true
        },
        "tokenization": {
          "type": "string",
          "enum": [
            "word",
            "lowercase",
            "whitespace",
            "field"
          ]
        }
      }
    },
    "NodeShardStatus": {
      "description": "The definition of a node shard status response body",
      "properties": {
        "class": {
          "description": "The name of shard's class.",
          "type": "string",
          "x-omitempty": false
        },
        "compressed": {
          "description": "The status of vector compression/quantization.",
          "format": "boolean",
          "x-omitempty": false
        },
        "loaded": {
          "description": "The load status of the shard.",
          "type": "boolean",
          "x-omitempty": false
        },
        "name": {
          "description": "The name of the shard.",
          "type": "string",
          "x-omitempty": false
        },
        "objectCount": {
          "description": "The number of objects in shard.",
          "type": "number",
          "format": "int64",
          "x-omitempty": false
        },
        "vectorIndexingStatus": {
          "description": "The status of the vector indexing process.",
          "format": "string",
          "x-omitempty": false
        },
        "vectorQueueLength": {
          "description": "The length of the vector indexing queue.",
          "type": "number",
          "format": "int64",
          "x-omitempty": false
        }
      }
    },
    "NodeStats": {
      "description": "The summary of Weaviate's statistics.",
      "properties": {
        "objectCount": {
          "description": "The total number of objects in DB.",
          "type": "number",
          "format": "int64",
          "x-omitempty": false
        },
        "shardCount": {
          "description": "The count of Weaviate's shards.",
          "type": "number",
          "format": "int",
          "x-omitempty": false
        }
      }
    },
    "NodeStatus": {
      "description": "The definition of a backup node status response body",
      "properties": {
        "batchStats": {
          "description": "Weaviate batch statistics.",
          "type": "object",
          "$ref": "#/definitions/BatchStats"
        },
        "gitHash": {
          "description": "The gitHash of Weaviate.",
          "type": "string"
        },
        "name": {
          "description": "The name of the node.",
          "type": "string"
        },
        "shards": {
          "description": "The list of the shards with it's statistics.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/NodeShardStatus"
          }
        },
        "stats": {
          "description": "Weaviate overall statistics.",
          "type": "object",
          "$ref": "#/definitions/NodeStats"
        },
        "status": {
          "description": "Node's status.",
          "type": "string",
          "default": "HEALTHY",
          "enum": [
            "HEALTHY",
            "UNHEALTHY",
            "UNAVAILABLE",
            "TIMEOUT"
          ]
        },
        "version": {
          "description": "The version of Weaviate.",
          "type": "string"
        }
      }
    },
    "NodesStatusResponse": {
      "description": "The status of all of the Weaviate nodes",
      "type": "object",
      "properties": {
        "nodes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NodeStatus"
          }
        }
      }
    },
    "Object": {
      "type": "object",
      "properties": {
        "additional": {
          "$ref": "#/definitions/AdditionalProperties"
        },
        "class": {
          "description": "Class of the Object, defined in the schema.",
          "type": "string"
        },
        "creationTimeUnix": {
          "description": "Timestamp of creation of this Object in milliseconds since epoch UTC.",
          "type": "integer",
          "format": "int64"
        },
        "id": {
          "description": "ID of the Object.",
          "type": "string",
          "format": "uuid"
        },
        "lastUpdateTimeUnix": {
          "description": "Timestamp of the last Object update in milliseconds since epoch UTC.",
          "type": "integer",
          "format": "int64"
        },
        "properties": {
          "$ref": "#/definitions/PropertySchema"
        },
        "tenant": {
          "description": "Name of the Objects tenant.",
          "type": "string"
        },
        "vector": {
          "description": "This field returns vectors associated with the Object. C11yVector, Vector or Vectors values are possible.",
          "$ref": "#/definitions/C11yVector"
        },
        "vectorWeights": {
          "$ref": "#/definitions/VectorWeights"
        },
        "vectors": {
          "description": "This field returns vectors associated with the Object.",
          "$ref": "#/definitions/Vectors"
        }
      }
    },
    "ObjectsGetResponse": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/definitions/Object"
        },
        {
          "properties": {
            "deprecations": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Deprecation"
              }
            }
          }
        },
        {
          "properties": {
            "result": {
              "description": "Results for this specific Object.",
              "format": "object",
              "properties": {
                "errors": {
                  "$ref": "#/definitions/ErrorResponse"
                },
                "status": {
                  "type": "string",
                  "default": "SUCCESS",
                  "enum": [
                    "SUCCESS",
                    "PENDING",
                    "FAILED"
                  ]
                }
              }
            }
          }
        }
      ]
    },
    "ObjectsListResponse": {
      "description": "List of Objects.",
      "type": "object",
      "properties": {
        "deprecations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Deprecation"
          }
        },
        "objects": {
          "description": "The actual list of Objects.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Object"
          }
        },
        "totalResults": {
          "description": "The total number of Objects for the query. The number of items in a response may be smaller due to paging.",
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "PatchDocumentAction": {
      "description": "Either a JSONPatch document as defined by RFC 6902 (from, op, path, value), or a merge document (RFC 7396).",
      "required": [
        "op",
        "path"
      ],
      "properties": {
        "from": {
          "description": "A string containing a JSON Pointer value.",
          "type": "string"
        },
        "merge": {
          "$ref": "#/definitions/Object"
        },
        "op": {
          "description": "The operation to be performed.",
          "type": "string",
          "enum": [
            "add",
            "remove",
            "replace",
            "move",
            "copy",
            "test"
          ]
        },
        "path": {
          "description": "A JSON-Pointer.",
          "type": "string"
        },
        "value": {
          "description": "The value to be used within the operations.",
          "type": "object"
        }
      }
    },
    "PatchDocumentObject": {
      "description": "Either a JSONPatch document as defined by RFC 6902 (from, op, path, value), or a merge document (RFC 7396).",
      "required": [
        "op",
        "path"
      ],
      "properties": {
        "from": {
          "description": "A string containing a JSON Pointer value.",
          "type": "string"
        },
        "merge": {
          "$ref": "#/definitions/Object"
        },
        "op": {
          "description": "The operation to be performed.",
          "type": "string",
          "enum": [
            "add",
            "remove",
            "replace",
            "move",
            "copy",
            "test"
          ]
        },
        "path": {
          "description": "A JSON-Pointer.",
          "type": "string"
        },
        "value": {
          "description": "The value to be used within the operations.",
          "type": "object"
        }
      }
    },
    "PeerUpdate": {
      "description": "A single peer in the network.",
      "properties": {
        "id": {
          "description": "The session ID of the peer.",
          "type": "string",
          "format": "uuid"
        },
        "name": {
          "description": "Human readable name.",
          "type": "string"
        },
        "schemaHash": {
          "description": "The latest known hash of the peer's schema.",
          "type": "string"
        },
        "uri": {
          "description": "The location where the peer is exposed to the internet.",
          "type": "string",
          "format": "uri"
        }
      }
    },
    "PeerUpdateList": {
      "description": "List of known peers.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/PeerUpdate"
      }
    },
    "PhoneNumber": {
      "properties": {
        "countryCode": {
          "description": "Read-only. The numerical country code (e.g. 49)",
          "type": "number",
          "format": "uint64"
        },
        "defaultCountry": {
          "description": "Optional. The ISO 3166-1 alpha-2 country code. This is used to figure out the correct countryCode and international format if only a national number (e.g. 0123 4567) is provided",
          "type": "string"
        },
        "input": {
          "description": "The raw input as the phone number is present in your raw data set. It will be parsed into the standardized formats if valid.",
          "type": "string"
        },
        "internationalFormatted": {
          "description": "Read-only. Parsed result in the international format (e.g. +49 123 ...)",
          "type": "string"
        },
        "national": {
          "description": "Read-only. The numerical representation of the national part",
          "type": "number",
          "format": "uint64"
        },
        "nationalFormatted": {
          "description": "Read-only. Parsed result in the national format (e.g. 0123 456789)",
          "type": "string"
        },
        "valid": {
          "description": "Read-only. Indicates whether the parsed number is a valid phone number",
          "type": "boolean"
        }
      }
    },
    "Principal": {
      "type": "object",
      "properties": {
        "groups": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "username": {
          "description": "The username that was extracted either from the authentication information",
          "type": "string"
        }
      }
    },
    "Property": {
      "type": "object",
      "properties": {
        "dataType": {
          "description": "Can be a reference to another type when it starts with a capital (for example Person), otherwise \"string\" or \"int\".",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "description": "Description of the property.",
          "type": "string"
        },
        "indexFilterable": {
          "description": "Optional. Should this property be indexed in the inverted index. Defaults to true. If you choose false, you will not be able to use this property in where filters. This property has no affect on vectorization decisions done by modules",
          "type": "boolean",
          "x-nullable": true
        },
        "indexInverted": {
          "description": "Optional. Should this property be indexed in the inverted index. Defaults to true. If you choose false, you will not be able to use this property in where filters, bm25 or hybrid search. This property has no affect on vectorization decisions done by modules (deprecated as of v1.19; use indexFilterable or/and indexSearchable instead)",
          "type": "boolean",
          "x-nullable": true
        },
        "indexSearchable": {
          "description": "Optional. Should this property be indexed in the inverted index. Defaults to true. Applicable only to properties of data type text and text[]. If you choose false, you will not be able to use this property in bm25 or hybrid search. This property has no affect on vectorization decisions done by modules",
          "type": "boolean",
          "x-nullable": true
        },
        "moduleConfig": {
          "description": "Configuration specific to modules this Weaviate instance has installed",
          "type": "object"
        },
        "name": {
          "description": "Name of the property as URI relative to the schema URL.",
          "type": "string"
        },
        "nestedProperties": {
          "description": "The properties of the nested object(s). Applies to object and object[] data types.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/NestedProperty"
          },
          "x-omitempty": true
        },
        "tokenization": {
          "description": "Determines tokenization of the property as separate words or whole field. Optional. Applies to text and text[] data types. Allowed values are ` + "`" + `word` + "`" + ` (default; splits on any non-alphanumerical, lowercases), ` + "`" + `lowercase` + "`" + ` (splits on white spaces, lowercases), ` + "`" + `whitespace` + "`" + ` (splits on white spaces), ` + "`" + `field` + "`" + ` (trims). Not supported for remaining data types",
          "type": "string",
          "enum": [
            "word",
            "lowercase",
            "whitespace",
            "field",
            "trigram",
            "gse"
          ]
        }
      }
    },
    "PropertySchema": {
      "description": "This is an open object, with OpenAPI Specification 3.0 this will be more detailed. See Weaviate docs for more info. In the future this will become a key/value OR a SingleRef definition.",
      "type": "object"
    },
    "RaftStatistics": {
      "description": "The definition of Raft statistics.",
      "properties": {
        "appliedIndex": {
          "type": "string"
        },
        "commitIndex": {
          "type": "string"
        },
        "fsmPending": {
          "type": "string"
        },
        "lastContact": {
          "type": "string"
        },
        "lastLogIndex": {
          "type": "string"
        },
        "lastLogTerm": {
          "type": "string"
        },
        "lastSnapshotIndex": {
          "type": "string"
        },
        "lastSnapshotTerm": {
          "type": "string"
        },
        "latestConfiguration": {
          "description": "Weaviate Raft nodes.",
          "type": "object"
        },
        "latestConfigurationIndex": {
          "type": "string"
        },
        "numPeers": {
          "type": "string"
        },
        "protocolVersion": {
          "type": "string"
        },
        "protocolVersionMax": {
          "type": "string"
        },
        "protocolVersionMin": {
          "type": "string"
        },
        "snapshotVersionMax": {
          "type": "string"
        },
        "snapshotVersionMin": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "term": {
          "type": "string"
        }
      }
    },
    "ReferenceMetaClassification": {
      "description": "This meta field contains additional info about the classified reference property",
      "properties": {
        "closestLosingDistance": {
          "description": "The lowest distance of a neighbor in the losing group. Optional. If k equals the size of the winning group, there is no losing group",
          "type": "number",
          "format": "float32",
          "x-nullable": true
        },
        "closestOverallDistance": {
          "description": "The lowest distance of any neighbor, regardless of whether they were in the winning or losing group",
          "type": "number",
          "format": "float32"
        },
        "closestWinningDistance": {
          "description": "Closest distance of a neighbor from the winning group",
          "type": "number",
          "format": "float32"
        },
        "losingCount": {
          "description": "size of the losing group, can be 0 if the winning group size equals k",
          "type": "number",
          "format": "int64"
        },
        "losingDistance": {
          "description": "deprecated - do not use, to be removed in 0.23.0",
          "type": "number",
          "format": "float32",
          "x-nullable": true
        },
        "meanLosingDistance": {
          "description": "Mean distance of all neighbors from the losing group. Optional. If k equals the size of the winning group, there is no losing group.",
          "type": "number",
          "format": "float32",
          "x-nullable": true
        },
        "meanWinningDistance": {
          "description": "Mean distance of all neighbors from the winning group",
          "type": "number",
          "format": "float32"
        },
        "overallCount": {
          "description": "overall neighbors checked as part of the classification. In most cases this will equal k, but could be lower than k - for example if not enough data was present",
          "type": "number",
          "format": "int64"
        },
        "winningCount": {
          "description": "size of the winning group, a number between 1..k",
          "type": "number",
          "format": "int64"
        },
        "winningDistance": {
          "description": "deprecated - do not use, to be removed in 0.23.0",
          "type": "number",
          "format": "float32"
        }
      }
    },
    "ReplicationConfig": {
      "description": "Configure how replication is executed in a cluster",
      "type": "object",
      "properties": {
        "factor": {
          "description": "Number of times a class is replicated",
          "type": "integer"
        }
      }
    },
    "RestoreConfig": {
      "description": "Backup custom configuration",
      "type": "object",
      "properties": {
        "CPUPercentage": {
          "description": "Desired CPU core utilization ranging from 1%-80%",
          "type": "integer",
          "default": 50,
          "maximum": 80,
          "minimum": 1,
          "x-nullable": false
        }
      }
    },
    "Schema": {
      "description": "Definitions of semantic schemas (also see: https://github.com/weaviate/weaviate-semantic-schemas).",
      "type": "object",
      "properties": {
        "classes": {
          "description": "Semantic classes that are available.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Class"
          }
        },
        "maintainer": {
          "description": "Email of the maintainer.",
          "type": "string",
          "format": "email"
        },
        "name": {
          "description": "Name of the schema.",
          "type": "string"
        }
      }
    },
    "SchemaClusterStatus": {
      "description": "Indicates the health of the schema in a cluster.",
      "type": "object",
      "properties": {
        "error": {
          "description": "Contains the sync check error if one occurred",
          "type": "string",
          "x-omitempty": true
        },
        "healthy": {
          "description": "True if the cluster is in sync, false if there is an issue (see error).",
          "type": "boolean",
          "x-omitempty": false
        },
        "hostname": {
          "description": "Hostname of the coordinating node, i.e. the one that received the cluster. This can be useful information if the error message contains phrases such as 'other nodes agree, but local does not', etc.",
          "type": "string"
        },
        "ignoreSchemaSync": {
          "description": "The cluster check at startup can be ignored (to recover from an out-of-sync situation).",
          "type": "boolean",
          "x-omitempty": false
        },
        "nodeCount": {
          "description": "Number of nodes that participated in the sync check",
          "type": "number",
          "format": "int"
        }
      }
    },
    "SchemaHistory": {
      "description": "This is an open object, with OpenAPI Specification 3.0 this will be more detailed. See Weaviate docs for more info. In the future this will become a key/value OR a SingleRef definition.",
      "type": "object"
    },
    "ShardStatus": {
      "description": "The status of a single shard",
      "properties": {
        "status": {
          "description": "Status of the shard",
          "type": "string"
        }
      }
    },
    "ShardStatusGetResponse": {
      "description": "Response body of shard status get request",
      "properties": {
        "name": {
          "description": "Name of the shard",
          "type": "string"
        },
        "status": {
          "description": "Status of the shard",
          "type": "string"
        },
        "vectorQueueSize": {
          "description": "Size of the vector queue of the shard",
          "type": "integer",
          "x-omitempty": false
        }
      }
    },
    "ShardStatusList": {
      "description": "The status of all the shards of a Class",
      "type": "array",
      "items": {
        "$ref": "#/definitions/ShardStatusGetResponse"
      }
    },
    "SingleRef": {
      "description": "Either set beacon (direct reference) or set class and schema (concept reference)",
      "properties": {
        "beacon": {
          "description": "If using a direct reference, specify the URI to point to the cross-ref here. Should be in the form of weaviate://localhost/\u003cuuid\u003e for the example of a local cross-ref to an object",
          "type": "string",
          "format": "uri"
        },
        "class": {
          "description": "If using a concept reference (rather than a direct reference), specify the desired class name here",
          "type": "string",
          "format": "uri"
        },
        "classification": {
          "description": "Additional Meta information about classifications if the item was part of one",
          "$ref": "#/definitions/ReferenceMetaClassification"
        },
        "href": {
          "description": "If using a direct reference, this read-only fields provides a link to the referenced resource. If 'origin' is globally configured, an absolute URI is shown - a relative URI otherwise.",
          "type": "string",
          "format": "uri"
        },
        "schema": {
          "description": "If using a concept reference (rather than a direct reference), specify the desired properties here",
          "$ref": "#/definitions/PropertySchema"
        }
      }
    },
    "Statistics": {
      "description": "The definition of node statistics.",
      "properties": {
        "bootstrapped": {
          "type": "boolean"
        },
        "candidates": {
          "type": "object"
        },
        "dbLoaded": {
          "type": "boolean"
        },
        "initialLastAppliedIndex": {
          "type": "number",
          "format": "uint64"
        },
        "isVoter": {
          "type": "boolean"
        },
        "lastAppliedIndex": {
          "type": "number"
        },
        "leaderAddress": {
          "type": "object"
        },
        "leaderId": {
          "type": "object"
        },
        "name": {
          "description": "The name of the node.",
          "type": "string"
        },
        "open": {
          "type": "boolean"
        },
        "raft": {
          "description": "Weaviate Raft statistics.",
          "type": "object",
          "$ref": "#/definitions/RaftStatistics"
        },
        "ready": {
          "type": "boolean"
        },
        "status": {
          "description": "Node's status.",
          "type": "string",
          "default": "HEALTHY",
          "enum": [
            "HEALTHY",
            "UNHEALTHY",
            "UNAVAILABLE",
            "TIMEOUT"
          ]
        }
      }
    },
    "StopwordConfig": {
      "description": "fine-grained control over stopword list usage",
      "type": "object",
      "properties": {
        "additions": {
          "description": "stopwords to be considered additionally",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "preset": {
          "description": "pre-existing list of common words by language",
          "type": "string"
        },
        "removals": {
          "description": "stopwords to be removed from consideration",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Tenant": {
      "description": "attributes representing a single tenant within weaviate",
      "type": "object",
      "properties": {
        "activityStatus": {
          "description": "activity status of the tenant's shard. Optional for creating tenant (implicit ` + "`" + `HOT` + "`" + `) and required for updating tenant. Allowed values are ` + "`" + `HOT` + "`" + ` - tenant is fully active, ` + "`" + `WARM` + "`" + ` - tenant is active, some restrictions are imposed (TBD; not supported yet), ` + "`" + `COLD` + "`" + ` - tenant is inactive; no actions can be performed on tenant, tenant's files are stored locally, ` + "`" + `FROZEN` + "`" + ` - as COLD, but files are stored on cloud storage (not supported yet)",
          "type": "string",
          "enum": [
            "HOT",
            "WARM",
            "COLD",
            "FROZEN"
          ]
        },
        "name": {
          "description": "name of the tenant",
          "type": "string"
        }
      }
    },
    "Vector": {
      "description": "A Vector object",
      "type": "array",
      "items": {
        "type": "number",
        "format": "float"
      }
    },
    "VectorConfig": {
      "type": "object",
      "properties": {
        "vectorIndexConfig": {
          "description": "Vector-index config, that is specific to the type of index selected in vectorIndexType",
          "type": "object"
        },
        "vectorIndexType": {
          "description": "Name of the vector index to use, eg. (HNSW)",
          "type": "string"
        },
        "vectorizer": {
          "description": "Configuration of a specific vectorizer used by this vector",
          "type": "object"
        }
      }
    },
    "VectorWeights": {
      "description": "Allow custom overrides of vector weights as math expressions. E.g. \"pancake\": \"7\" will set the weight for the word pancake to 7 in the vectorization, whereas \"w * 3\" would triple the originally calculated word. This is an open object, with OpenAPI Specification 3.0 this will be more detailed. See Weaviate docs for more info. In the future this will become a key/value (string/string) object.",
      "type": "object"
    },
    "Vectors": {
      "description": "A Multi Vector map of named vectors",
      "type": "object",
      "additionalProperties": {
        "$ref": "#/definitions/Vector"
      }
    },
    "WhereFilter": {
      "description": "Filter search results using a where filter",
      "type": "object",
      "properties": {
        "operands": {
          "description": "combine multiple where filters, requires 'And' or 'Or' operator",
          "type": "array",
          "items": {
            "$ref": "#/definitions/WhereFilter"
          }
        },
        "operator": {
          "description": "operator to use",
          "type": "string",
          "enum": [
            "And",
            "Or",
            "Equal",
            "Like",
            "NotEqual",
            "GreaterThan",
            "GreaterThanEqual",
            "LessThan",
            "LessThanEqual",
            "WithinGeoRange",
            "IsNull",
            "ContainsAny",
            "ContainsAll"
          ],
          "example": "GreaterThanEqual"
        },
        "path": {
          "description": "path to the property currently being filtered",
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "inCity",
            "City",
            "name"
          ]
        },
        "valueBoolean": {
          "description": "value as boolean",
          "type": "boolean",
          "x-nullable": true,
          "example": false
        },
        "valueBooleanArray": {
          "description": "value as boolean",
          "type": "array",
          "items": {
            "type": "boolean"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": [
            true,
            false
          ]
        },
        "valueDate": {
          "description": "value as date (as string)",
          "type": "string",
          "x-nullable": true,
          "example": "TODO"
        },
        "valueDateArray": {
          "description": "value as date (as string)",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": "TODO"
        },
        "valueGeoRange": {
          "description": "value as geo coordinates and distance",
          "type": "object",
          "x-nullable": true,
          "$ref": "#/definitions/WhereFilterGeoRange"
        },
        "valueInt": {
          "description": "value as integer",
          "type": "integer",
          "format": "int64",
          "x-nullable": true,
          "example": 2000
        },
        "valueIntArray": {
          "description": "value as integer",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": "[100, 200]"
        },
        "valueNumber": {
          "description": "value as number/float",
          "type": "number",
          "format": "float64",
          "x-nullable": true,
          "example": 3.14
        },
        "valueNumberArray": {
          "description": "value as number/float",
          "type": "array",
          "items": {
            "type": "number",
            "format": "float64"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": [
            3.14
          ]
        },
        "valueString": {
          "description": "value as text (deprecated as of v1.19; alias for valueText)",
          "type": "string",
          "x-nullable": true,
          "example": "my search term"
        },
        "valueStringArray": {
          "description": "value as text (deprecated as of v1.19; alias for valueText)",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": [
            "my search term"
          ]
        },
        "valueText": {
          "description": "value as text",
          "type": "string",
          "x-nullable": true,
          "example": "my search term"
        },
        "valueTextArray": {
          "description": "value as text",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": [
            "my search term"
          ]
        }
      }
    },
    "WhereFilterGeoRange": {
      "description": "filter within a distance of a georange",
      "type": "object",
      "properties": {
        "distance": {
          "type": "object",
          "properties": {
            "max": {
              "type": "number",
              "format": "float64"
            }
          }
        },
        "geoCoordinates": {
          "x-nullable": false,
          "$ref": "#/definitions/GeoCoordinates"
        }
      }
    }
  },
  "parameters": {
    "CommonAfterParameterQuery": {
      "type": "string",
      "description": "The starting ID of the result window.",
      "name": "after",
      "in": "query"
    },
    "CommonClassParameterQuery": {
      "type": "string",
      "description": "Class parameter specifies the class from which to query objects",
      "name": "class",
      "in": "query"
    },
    "CommonConsistencyLevelParameterQuery": {
      "type": "string",
      "description": "Determines how many replicas must acknowledge a request before it is considered successful",
      "name": "consistency_level",
      "in": "query"
    },
    "CommonIncludeParameterQuery": {
      "type": "string",
      "description": "Include additional information, such as classification infos. Allowed values include: classification, vector, interpretation",
      "name": "include",
      "in": "query"
    },
    "CommonLimitParameterQuery": {
      "type": "integer",
      "format": "int64",
      "description": "The maximum number of items to be returned per page. Default value is set in Weaviate config.",
      "name": "limit",
      "in": "query"
    },
    "CommonNodeNameParameterQuery": {
      "type": "string",
      "description": "The target node which should fulfill the request",
      "name": "node_name",
      "in": "query"
    },
    "CommonOffsetParameterQuery": {
      "type": "integer",
      "format": "int64",
      "default": 0,
      "description": "The starting index of the result window. Default value is 0.",
      "name": "offset",
      "in": "query"
    },
    "CommonOrderParameterQuery": {
      "type": "string",
      "description": "Order parameter to tell how to order (asc or desc) data within given field",
      "name": "order",
      "in": "query"
    },
    "CommonOutputVerbosityParameterQuery": {
      "type": "string",
      "default": "minimal",
      "description": "Controls the verbosity of the output, possible values are: \"minimal\", \"verbose\". Defaults to \"minimal\".",
      "name": "output",
      "in": "query"
    },
    "CommonSortParameterQuery": {
      "type": "string",
      "description": "Sort parameter to pass an information about the names of the sort fields",
      "name": "sort",
      "in": "query"
    },
    "CommonTenantParameterQuery": {
      "type": "string",
      "description": "Specifies the tenant in a request targeting a multi-tenant class",
      "name": "tenant",
      "in": "query"
    }
  },
  "securityDefinitions": {
    "oidc": {
      "description": "OIDC (OpenConnect ID - based on OAuth2)",
      "type": "oauth2",
      "flow": "implicit",
      "authorizationUrl": "http://to-be-configured-in-the-application-config"
    }
  },
  "security": [
    {},
    {
      "oidc": []
    }
  ],
  "tags": [
    {
      "name": "objects"
    },
    {
      "description": "These operations allow to execute batch requests for Objects and Objects. Mostly used for importing large datasets.",
      "name": "batch"
    },
    {
      "name": "graphql"
    },
    {
      "name": "meta"
    },
    {
      "name": "P2P"
    },
    {
      "description": "All functions related to the Contextionary.",
      "name": "contextionary-API"
    },
    {
      "description": "These operations enable manipulation of the schema in Weaviate schema.",
      "name": "schema"
    }
  ],
  "externalDocs": {
    "url": "https://github.com/weaviate/weaviate"
  }
}`))
	FlatSwaggerJSON = json.RawMessage([]byte(`{
  "consumes": [
    "application/json",
    "application/yaml"
  ],
  "produces": [
    "application/json"
  ],
  "schemes": [
    "https"
  ],
  "swagger": "2.0",
  "info": {
    "description": "Cloud-native, modular vector database",
    "title": "Weaviate",
    "contact": {
      "name": "Weaviate",
      "url": "https://github.com/weaviate",
      "email": "hello@weaviate.io"
    },
    "version": "1.25.0-raft"
  },
  "basePath": "/v1",
  "paths": {
    "/": {
      "get": {
        "description": "Home. Discover the REST API",
        "operationId": "weaviate.root",
        "responses": {
          "200": {
            "description": "Weaviate is alive and ready to serve content",
            "schema": {
              "type": "object",
              "properties": {
                "links": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Link"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/live": {
      "get": {
        "description": "Determines whether the application is alive. Can be used for kubernetes liveness probe",
        "operationId": "weaviate.wellknown.liveness",
        "responses": {
          "200": {
            "description": "The application is able to respond to HTTP requests"
          }
        }
      }
    },
    "/.well-known/openid-configuration": {
      "get": {
        "description": "OIDC Discovery page, redirects to the token issuer if one is configured",
        "tags": [
          "well-known",
          "oidc",
          "discovery"
        ],
        "summary": "OIDC discovery information if OIDC auth is enabled",
        "responses": {
          "200": {
            "description": "Successful response, inspect body",
            "schema": {
              "type": "object",
              "properties": {
                "clientId": {
                  "description": "OAuth Client ID",
                  "type": "string"
                },
                "href": {
                  "description": "The Location to redirect to",
                  "type": "string"
                },
                "scopes": {
                  "description": "OAuth Scopes",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-omitempty": true
                }
              }
            }
          },
          "404": {
            "description": "Not found, no oidc provider present"
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false
      }
    },
    "/.well-known/ready": {
      "get": {
        "description": "Determines whether the application is ready to receive traffic. Can be used for kubernetes readiness probe.",
        "operationId": "weaviate.wellknown.readiness",
        "responses": {
          "200": {
            "description": "The application has completed its start-up routine and is ready to accept traffic."
          },
          "503": {
            "description": "The application is currently not able to serve traffic. If other horizontal replicas of weaviate are available and they are capable of receiving traffic, all traffic should be redirected there instead."
          }
        }
      }
    },
    "/backups/{backend}": {
      "post": {
        "description": "Starts a process of creating a backup for a set of classes",
        "tags": [
          "backups"
        ],
        "operationId": "backups.create",
        "parameters": [
          {
            "type": "string",
            "description": "Backup backend name e.g. filesystem, gcs, s3.",
            "name": "backend",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BackupCreateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Backup create process successfully started.",
            "schema": {
              "$ref": "#/definitions/BackupCreateResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup creation attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.backup"
        ]
      }
    },
    "/backups/{backend}/{id}": {
      "get": {
        "description": "Returns status of backup creation attempt for a set of classes",
        "tags": [
          "backups"
        ],
        "operationId": "backups.create.status",
        "parameters": [
          {
            "type": "string",
            "description": "Backup backend name e.g. filesystem, gcs, s3.",
            "name": "backend",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The ID of a backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Backup creation status successfully returned",
            "schema": {
              "$ref": "#/definitions/BackupCreateStatusResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Backup does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup restoration status attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.backup"
        ]
      }
    },
    "/backups/{backend}/{id}/restore": {
      "get": {
        "description": "Returns status of a backup restoration attempt for a set of classes",
        "tags": [
          "backups"
        ],
        "operationId": "backups.restore.status",
        "parameters": [
          {
            "type": "string",
            "description": "Backup backend name e.g. filesystem, gcs, s3.",
            "name": "backend",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The ID of a backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Backup restoration status successfully returned",
            "schema": {
              "$ref": "#/definitions/BackupRestoreStatusResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Backup does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.backup"
        ]
      },
      "post": {
        "description": "Starts a process of restoring a backup for a set of classes",
        "tags": [
          "backups"
        ],
        "operationId": "backups.restore",
        "parameters": [
          {
            "type": "string",
            "description": "Backup backend name e.g. filesystem, gcs, s3.",
            "name": "backend",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The ID of a backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BackupRestoreRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Backup restoration process successfully started.",
            "schema": {
              "$ref": "#/definitions/BackupRestoreResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Backup does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup restoration attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.backup"
        ]
      }
    },
    "/batch/objects": {
      "post": {
        "description": "Register new Objects in bulk. Provided meta-data and schema values are validated.",
        "tags": [
          "batch",
          "objects"
        ],
        "summary": "Creates new Objects based on a Object template as a batch.",
        "operationId": "batch.objects.create",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "fields": {
                  "description": "Define which fields need to be returned. Default value is ALL",
                  "type": "array",
                  "items": {
                    "type": "string",
                    "default": "ALL",
                    "enum": [
                      "ALL",
                      "class",
                      "schema",
                      "id",
                      "creationTimeUnix"
                    ]
                  }
                },
                "objects": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Object"
                  }
                }
              }
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Request succeeded, see response body to get detailed information about each batched item.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ObjectsGetResponse"
              }
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.add"
        ]
      },
      "delete": {
        "description": "Delete Objects in bulk that match a certain filter.",
        "tags": [
          "batch",
          "objects"
        ],
        "summary": "Deletes Objects based on a match filter as a batch.",
        "operationId": "batch.objects.delete",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchDelete"
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Request succeeded, see response body to get detailed information about each batched item.",
            "schema": {
              "$ref": "#/definitions/BatchDeleteResponse"
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      }
    },
    "/batch/references": {
      "post": {
        "description": "Register cross-references between any class items (objects or objects) in bulk.",
        "tags": [
          "batch",
          "references"
        ],
        "summary": "Creates new Cross-References between arbitrary classes in bulk.",
        "operationId": "batch.references.create",
        "parameters": [
          {
            "description": "A list of references to be batched. The ideal size depends on the used database connector. Please see the documentation of the used connector for help",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BatchReference"
              }
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Request Successful. Warning: A successful request does not guarantee that every batched reference was successfully created. Inspect the response body to see which references succeeded and which failed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/BatchReferenceResponse"
              }
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.add"
        ]
      }
    },
    "/classifications/": {
      "post": {
        "description": "Trigger a classification based on the specified params. Classifications will run in the background, use GET /classifications/\u003cid\u003e to retrieve the status of your classification.",
        "tags": [
          "classifications"
        ],
        "summary": "Starts a classification.",
        "operationId": "classifications.post",
        "parameters": [
          {
            "description": "parameters to start a classification",
            "name": "params",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Classification"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successfully started classification.",
            "schema": {
              "$ref": "#/definitions/Classification"
            }
          },
          "400": {
            "description": "Incorrect request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.classifications.post"
        ]
      }
    },
    "/classifications/{id}": {
      "get": {
        "description": "Get status, results and metadata of a previously created classification",
        "tags": [
          "classifications"
        ],
        "summary": "View previously created classification",
        "operationId": "classifications.get",
        "parameters": [
          {
            "type": "string",
            "description": "classification id",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Found the classification, returned as body",
            "schema": {
              "$ref": "#/definitions/Classification"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Classification does not exist"
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.classifications.get"
        ]
      }
    },
    "/cluster/statistics": {
      "get": {
        "description": "Returns Raft cluster statistics of Weaviate DB.",
        "tags": [
          "cluster"
        ],
        "operationId": "cluster.get.statistics",
        "responses": {
          "200": {
            "description": "Cluster statistics successfully returned",
            "schema": {
              "$ref": "#/definitions/ClusterStatisticsResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup restoration status attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.cluster.statistics.get"
        ]
      }
    },
    "/graphql": {
      "post": {
        "description": "Get an object based on GraphQL",
        "tags": [
          "graphql"
        ],
        "summary": "Get a response based on GraphQL",
        "operationId": "graphql.post",
        "parameters": [
          {
            "description": "The GraphQL query request parameters.",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GraphQLQuery"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful query (with select).",
            "schema": {
              "$ref": "#/definitions/GraphQLResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query",
          "weaviate.local.query.meta",
          "weaviate.network.query",
          "weaviate.network.query.meta"
        ]
      }
    },
    "/graphql/batch": {
      "post": {
        "description": "Perform a batched GraphQL query",
        "tags": [
          "graphql"
        ],
        "summary": "Get a response based on GraphQL.",
        "operationId": "graphql.batch",
        "parameters": [
          {
            "description": "The GraphQL queries.",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GraphQLQueries"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful query (with select).",
            "schema": {
              "$ref": "#/definitions/GraphQLResponses"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query",
          "weaviate.local.query.meta",
          "weaviate.network.query",
          "weaviate.network.query.meta"
        ]
      }
    },
    "/meta": {
      "get": {
        "description": "Gives meta information about the server and can be used to provide information to another Weaviate instance that wants to interact with the current instance.",
        "tags": [
          "meta"
        ],
        "summary": "Returns meta information of the current Weaviate instance.",
        "operationId": "meta.get",
        "responses": {
          "200": {
            "description": "Successful response.",
            "schema": {
              "$ref": "#/definitions/Meta"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query.meta"
        ]
      }
    },
    "/nodes": {
      "get": {
        "description": "Returns status of Weaviate DB.",
        "tags": [
          "nodes"
        ],
        "operationId": "nodes.get",
        "parameters": [
          {
            "type": "string",
            "default": "minimal",
            "description": "Controls the verbosity of the output, possible values are: \"minimal\", \"verbose\". Defaults to \"minimal\".",
            "name": "output",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Nodes status successfully returned",
            "schema": {
              "$ref": "#/definitions/NodesStatusResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Backup does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup restoration status attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.nodes.status.get"
        ]
      }
    },
    "/nodes/{className}": {
      "get": {
        "description": "Returns status of Weaviate DB.",
        "tags": [
          "nodes"
        ],
        "operationId": "nodes.get.class",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "default": "minimal",
            "description": "Controls the verbosity of the output, possible values are: \"minimal\", \"verbose\". Defaults to \"minimal\".",
            "name": "output",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Nodes status successfully returned",
            "schema": {
              "$ref": "#/definitions/NodesStatusResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found - Backup does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid backup restoration status attempt.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.nodes.status.get.class"
        ]
      }
    },
    "/objects": {
      "get": {
        "description": "Lists all Objects in reverse order of creation, owned by the user that belongs to the used token.",
        "tags": [
          "objects"
        ],
        "summary": "Get a list of Objects.",
        "operationId": "objects.list",
        "parameters": [
          {
            "type": "string",
            "description": "The starting ID of the result window.",
            "name": "after",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "default": 0,
            "description": "The starting index of the result window. Default value is 0.",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "The maximum number of items to be returned per page. Default value is set in Weaviate config.",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Include additional information, such as classification infos. Allowed values include: classification, vector, interpretation",
            "name": "include",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Sort parameter to pass an information about the names of the sort fields",
            "name": "sort",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Order parameter to tell how to order (asc or desc) data within given field",
            "name": "order",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Class parameter specifies the class from which to query objects",
            "name": "class",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "schema": {
              "$ref": "#/definitions/ObjectsListResponse"
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query"
        ]
      },
      "post": {
        "description": "Registers a new Object. Provided meta-data and schema values are validated.",
        "tags": [
          "objects"
        ],
        "summary": "Create Objects between two Objects (object and subject).",
        "operationId": "objects.create",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Object created.",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.add"
        ]
      }
    },
    "/objects/validate": {
      "post": {
        "description": "Validate an Object's schema and meta-data. It has to be based on a schema, which is related to the given Object to be accepted by this validation.",
        "tags": [
          "objects"
        ],
        "summary": "Validate an Object based on a schema.",
        "operationId": "objects.validate",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully validated."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query.meta"
        ]
      }
    },
    "/objects/{className}/{id}": {
      "get": {
        "description": "Get a single data object",
        "tags": [
          "objects"
        ],
        "summary": "Get a specific Object based on its class and UUID. Also available as Websocket bus.",
        "operationId": "objects.class.get",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Include additional information, such as classification infos. Allowed values include: classification, vector, interpretation",
            "name": "include",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          },
          {
            "type": "string",
            "description": "The target node which should fulfill the request",
            "name": "node_name",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "Request is well-formed (i.e., syntactically correct), but erroneous.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query"
        ]
      },
      "put": {
        "description": "Update an individual data object based on its class and uuid.",
        "tags": [
          "objects"
        ],
        "summary": "Update a class object based on its uuid",
        "operationId": "objects.class.put",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "The uuid of the data object to update.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully received.",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "delete": {
        "description": "Delete a single data object.",
        "tags": [
          "objects"
        ],
        "summary": "Delete object based on its class and UUID.",
        "operationId": "objects.class.delete",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted."
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "Request is well-formed (i.e., syntactically correct), but erroneous.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": true,
        "x-available-in-websocket": true,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "head": {
        "description": "Checks if a data object exists without retrieving it.",
        "tags": [
          "objects"
        ],
        "summary": "Checks object's existence based on its class and uuid.",
        "operationId": "objects.class.head",
        "parameters": [
          {
            "type": "string",
            "description": "The class name as defined in the schema",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "The uuid of the data object",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "description": "Object exists."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Object doesn't exist."
          },
          "422": {
            "description": "Request is well-formed (i.e., syntactically correct), but erroneous.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": true,
        "x-available-in-websocket": true,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "patch": {
        "description": "Update an individual data object based on its class and uuid. This method supports json-merge style patch semantics (RFC 7396). Provided meta-data and schema values are validated. LastUpdateTime is set to the time this function is called.",
        "tags": [
          "objects"
        ],
        "summary": "Update an Object based on its UUID (using patch semantics).",
        "operationId": "objects.class.patch",
        "parameters": [
          {
            "type": "string",
            "description": "The class name as defined in the schema",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "The uuid of the data object to update.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "RFC 7396-style patch, the body contains the object to merge into the existing object.",
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully applied. No content provided."
          },
          "400": {
            "description": "The patch-JSON is malformed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "The patch-JSON is valid but unprocessable.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      }
    },
    "/objects/{className}/{id}/references/{propertyName}": {
      "put": {
        "description": "Update all references of a property of a data object.",
        "tags": [
          "objects"
        ],
        "summary": "Replace all references to a class-property.",
        "operationId": "objects.class.references.put",
        "parameters": [
          {
            "type": "string",
            "description": "The class name as defined in the schema",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MultipleRef"
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully replaced all the references."
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Source object doesn't exist."
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the property exists or that it is a class?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "post": {
        "description": "Add a single reference to a class-property.",
        "tags": [
          "objects"
        ],
        "summary": "Add a single reference to a class-property.",
        "operationId": "objects.class.references.create",
        "parameters": [
          {
            "type": "string",
            "description": "The class name as defined in the schema",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleRef"
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully added the reference."
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Source object doesn't exist."
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the property exists or that it is a class?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "delete": {
        "description": "Delete the single reference that is given in the body from the list of references that this property of a data object has",
        "tags": [
          "objects"
        ],
        "summary": "Delete the single reference that is given in the body from the list of references that this property has.",
        "operationId": "objects.class.references.delete",
        "parameters": [
          {
            "type": "string",
            "description": "The class name as defined in the schema",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleRef"
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted."
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the property exists or that it is a class?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      }
    },
    "/objects/{id}": {
      "get": {
        "description": "Lists Objects.",
        "tags": [
          "objects"
        ],
        "summary": "Get a specific Object based on its UUID and a Object UUID. Also available as Websocket bus.",
        "operationId": "objects.get",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Include additional information, such as classification infos. Allowed values include: classification, vector, interpretation",
            "name": "include",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "400": {
            "description": "Malformed request.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.query"
        ]
      },
      "put": {
        "description": "Updates an Object's data. Given meta-data and schema values are validated. LastUpdateTime is set to the time this function is called.",
        "tags": [
          "objects"
        ],
        "summary": "Update an Object based on its UUID.",
        "operationId": "objects.update",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully received.",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the class is defined in the configuration file?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "delete": {
        "description": "Deletes an Object from the system.",
        "tags": [
          "objects"
        ],
        "summary": "Delete an Object based on its UUID.",
        "operationId": "objects.delete",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": true,
        "x-available-in-websocket": true,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "head": {
        "description": "Checks if an Object exists in the system.",
        "tags": [
          "objects"
        ],
        "summary": "Checks Object's existence based on its UUID.",
        "operationId": "objects.head",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "Object exists."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Object doesn't exist."
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": true,
        "x-available-in-websocket": true,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "patch": {
        "description": "Updates an Object. This method supports json-merge style patch semantics (RFC 7396). Provided meta-data and schema values are validated. LastUpdateTime is set to the time this function is called.",
        "tags": [
          "objects"
        ],
        "summary": "Update an Object based on its UUID (using patch semantics).",
        "operationId": "objects.patch",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "RFC 7396-style patch, the body contains the object to merge into the existing object.",
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          {
            "type": "string",
            "description": "Determines how many replicas must acknowledge a request before it is considered successful",
            "name": "consistency_level",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully applied. No content provided."
          },
          "400": {
            "description": "The patch-JSON is malformed."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found."
          },
          "422": {
            "description": "The patch-JSON is valid but unprocessable.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      }
    },
    "/objects/{id}/references/{propertyName}": {
      "put": {
        "description": "Replace all references to a class-property.",
        "tags": [
          "objects"
        ],
        "summary": "Replace all references to a class-property.",
        "operationId": "objects.references.update",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MultipleRef"
            }
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully replaced all the references."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the property exists or that it is a class?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "post": {
        "description": "Add a single reference to a class-property.",
        "tags": [
          "objects"
        ],
        "summary": "Add a single reference to a class-property.",
        "operationId": "objects.references.create",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleRef"
            }
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully added the reference."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Request body is well-formed (i.e., syntactically correct), but semantically erroneous. Are you sure the property exists or that it is a class?",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      },
      "delete": {
        "description": "Delete the single reference that is given in the body from the list of references that this property has.",
        "tags": [
          "objects"
        ],
        "summary": "Delete the single reference that is given in the body from the list of references that this property has.",
        "operationId": "objects.references.delete",
        "deprecated": true,
        "parameters": [
          {
            "type": "string",
            "format": "uuid",
            "description": "Unique ID of the Object.",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Unique name of the property related to the Object.",
            "name": "propertyName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SingleRef"
            }
          },
          {
            "type": "string",
            "description": "Specifies the tenant in a request targeting a multi-tenant class",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Successful query result but no resource was found.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-available-in-mqtt": false,
        "x-available-in-websocket": false,
        "x-serviceIds": [
          "weaviate.local.manipulate"
        ]
      }
    },
    "/schema": {
      "get": {
        "tags": [
          "schema"
        ],
        "summary": "Dump the current the database schema.",
        "operationId": "schema.dump",
        "parameters": [
          {
            "type": "boolean",
            "default": true,
            "description": "If consistency is true, the request will be proxied to the leader to ensure strong schema consistency",
            "name": "consistency",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully dumped the database schema.",
            "schema": {
              "$ref": "#/definitions/Schema"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.query.meta"
        ]
      },
      "post": {
        "tags": [
          "schema"
        ],
        "summary": "Create a new Object class in the schema.",
        "operationId": "schema.objects.create",
        "parameters": [
          {
            "name": "objectClass",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Class"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Added the new Object class to the schema.",
            "schema": {
              "$ref": "#/definitions/Class"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid Object class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.add.meta"
        ]
      }
    },
    "/schema/cluster-status": {
      "get": {
        "tags": [
          "schema"
        ],
        "operationId": "schema.cluster.status",
        "responses": {
          "200": {
            "description": "The schema in the cluster is in sync.",
            "schema": {
              "$ref": "#/definitions/SchemaClusterStatus"
            }
          },
          "500": {
            "description": "The schema is either out of sync (see response body) or the sync check could not be completed.",
            "schema": {
              "$ref": "#/definitions/SchemaClusterStatus"
            }
          }
        }
      }
    },
    "/schema/{className}": {
      "get": {
        "tags": [
          "schema"
        ],
        "summary": "Get a single class from the schema",
        "operationId": "schema.objects.get",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "default": true,
            "description": "If consistency is true, the request will be proxied to the leader to ensure strong schema consistency",
            "name": "consistency",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "Found the Class, returned as body",
            "schema": {
              "$ref": "#/definitions/Class"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "This class does not exist"
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.get.meta"
        ]
      },
      "put": {
        "description": "Use this endpoint to alter an existing class in the schema. Note that not all settings are mutable. If an error about immutable fields is returned and you still need to update this particular setting, you will have to delete the class (and the underlying data) and recreate. This endpoint cannot be used to modify properties. Instead use POST /v1/schema/{className}/properties. A typical use case for this endpoint is to update configuration, such as the vectorIndexConfig. Note that even in mutable sections, such as vectorIndexConfig, some fields may be immutable.",
        "tags": [
          "schema"
        ],
        "summary": "Update settings of an existing schema class",
        "operationId": "schema.objects.update",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "name": "objectClass",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Class"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Class was updated successfully",
            "schema": {
              "$ref": "#/definitions/Class"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Class to be updated does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid update attempt",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.manipulate.meta"
        ]
      },
      "delete": {
        "tags": [
          "schema"
        ],
        "summary": "Remove an Object class (and all data in the instances) from the schema.",
        "operationId": "schema.objects.delete",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Removed the Object class from the schema."
          },
          "400": {
            "description": "Could not delete the Object class.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.manipulate.meta"
        ]
      }
    },
    "/schema/{className}/properties": {
      "post": {
        "tags": [
          "schema"
        ],
        "summary": "Add a property to an Object class.",
        "operationId": "schema.objects.properties.add",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Property"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Added the property.",
            "schema": {
              "$ref": "#/definitions/Property"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid property.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.manipulate.meta"
        ]
      }
    },
    "/schema/{className}/shards": {
      "get": {
        "tags": [
          "schema"
        ],
        "summary": "Get the shards status of an Object class",
        "operationId": "schema.objects.shards.get",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "tenant",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Found the status of the shards, returned as body",
            "schema": {
              "$ref": "#/definitions/ShardStatusList"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "This class does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.get.meta"
        ]
      }
    },
    "/schema/{className}/shards/{shardName}": {
      "put": {
        "description": "Update shard status of an Object Class",
        "tags": [
          "schema"
        ],
        "operationId": "schema.objects.shards.update",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "shardName",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ShardStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shard status was updated successfully",
            "schema": {
              "$ref": "#/definitions/ShardStatus"
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Shard to be updated does not exist",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid update attempt",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "x-serviceIds": [
          "weaviate.local.manipulate.meta"
        ]
      }
    },
    "/schema/{className}/tenants": {
      "get": {
        "description": "get all tenants from a specific class",
        "tags": [
          "schema"
        ],
        "operationId": "tenants.get",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "default": true,
            "description": "If consistency is true, the request will be proxied to the leader to ensure strong schema consistency",
            "name": "consistency",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "tenants from specified class.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Tenant"
              }
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid Tenant class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "put": {
        "description": "Update tenant of a specific class",
        "tags": [
          "schema"
        ],
        "operationId": "tenants.update",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Tenant"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated tenants of the specified class",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Tenant"
              }
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid Tenant class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "post": {
        "description": "Create a new tenant for a specific class",
        "tags": [
          "schema"
        ],
        "operationId": "tenants.create",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Tenant"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Added new tenants to the specified class",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Tenant"
              }
            }
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid Tenant class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "description": "delete tenants from a specific class",
        "tags": [
          "schema"
        ],
        "operationId": "tenants.delete",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "name": "tenants",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted tenants from specified class."
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "422": {
            "description": "Invalid Tenant class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/schema/{className}/tenants/{tenantName}": {
      "head": {
        "description": "Check if a tenant exists for a specific class",
        "tags": [
          "schema"
        ],
        "operationId": "tenant.exists",
        "parameters": [
          {
            "type": "string",
            "name": "className",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "tenantName",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "default": true,
            "description": "If consistency is true, the request will be proxied to the leader to ensure strong schema consistency",
            "name": "consistency",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "The tenant exists in the specified class"
          },
          "401": {
            "description": "Unauthorized or invalid credentials."
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "The tenant not found"
          },
          "422": {
            "description": "Invalid Tenant class",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "AdditionalProperties": {
      "description": "Additional Meta information about a single object object.",
      "type": "object",
      "additionalProperties": {
        "type": "object"
      }
    },
    "BM25Config": {
      "description": "tuning parameters for the BM25 algorithm",
      "type": "object",
      "properties": {
        "b": {
          "description": "calibrates term-weight scaling based on the document length",
          "type": "number",
          "format": "float"
        },
        "k1": {
          "description": "calibrates term-weight scaling based on the term frequency within a document",
          "type": "number",
          "format": "float"
        }
      }
    },
    "BackupConfig": {
      "description": "Backup custom configuration",
      "type": "object",
      "properties": {
        "CPUPercentage": {
          "description": "Desired CPU core utilization ranging from 1%-80%",
          "type": "integer",
          "default": 50,
          "maximum": 80,
          "minimum": 1,
          "x-nullable": false
        },
        "ChunkSize": {
          "description": "Weaviate will attempt to come close the specified size, with a minimum of 2MB, default of 128MB, and a maximum of 512MB",
          "type": "integer",
          "default": 128,
          "maximum": 512,
          "minimum": 2,
          "x-nullable": false
        },
        "CompressionLevel": {
          "description": "compression level used by compression algorithm",
          "type": "string",
          "default": "DefaultCompression",
          "enum": [
            "DefaultCompression",
            "BestSpeed",
            "BestCompression"
          ],
          "x-nullable": false
        }
      }
    },
    "BackupCreateRequest": {
      "description": "Request body for creating a backup of a set of classes",
      "properties": {
        "config": {
          "description": "Custom configuration for the backup creation process",
          "type": "object",
          "$ref": "#/definitions/BackupConfig"
        },
        "exclude": {
          "description": "List of classes to exclude from the backup creation process",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "id": {
          "description": "The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
          "type": "string"
        },
        "include": {
          "description": "List of classes to include in the backup creation process",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "BackupCreateResponse": {
      "description": "The definition of a backup create response body",
      "properties": {
        "backend": {
          "description": "Backup backend name e.g. filesystem, gcs, s3.",
          "type": "string"
        },
        "classes": {
          "description": "The list of classes for which the backup creation process was started",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "error": {
          "description": "error message if creation failed",
          "type": "string"
        },
        "id": {
          "description": "The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
          "type": "string"
        },
        "path": {
          "description": "destination path of backup files proper to selected backend",
          "type": "string"
        },
        "status": {
          "description": "phase of backup creation process",
          "type": "string",
          "default": "STARTED",
          "enum": [
            "STARTED",
            "TRANSFERRING",
            "TRANSFERRED",
            "SUCCESS",
            "FAILED"
          ]
        }
      }
    },
    "BackupCreateStatusResponse": {
      "description": "The definition of a backup create metadata",
      "properties": {
        "backend": {
          "description": "Backup backend name e.g. filesystem, gcs, s3.",
          "type": "string"
        },
        "error": {
          "description": "error message if creation failed",
          "type": "string"
        },
        "id": {
          "description": "The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
          "type": "string"
        },
        "path": {
          "description": "destination path of backup files proper to selected backend",
          "type": "string"
        },
        "status": {
          "description": "phase of backup creation process",
          "type": "string",
          "default": "STARTED",
          "enum": [
            "STARTED",
            "TRANSFERRING",
            "TRANSFERRED",
            "SUCCESS",
            "FAILED"
          ]
        }
      }
    },
    "BackupRestoreRequest": {
      "description": "Request body for restoring a backup for a set of classes",
      "properties": {
        "config": {
          "description": "Custom configuration for the backup restoration process",
          "type": "object",
          "$ref": "#/definitions/RestoreConfig"
        },
        "exclude": {
          "description": "List of classes to exclude from the backup restoration process",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "include": {
          "description": "List of classes to include in the backup restoration process",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "node_mapping": {
          "description": "Allows overriding the node names stored in the backup with different ones. Useful when restoring backups to a different environment.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "BackupRestoreResponse": {
      "description": "The definition of a backup restore response body",
      "properties": {
        "backend": {
          "description": "Backup backend name e.g. filesystem, gcs, s3.",
          "type": "string"
        },
        "classes": {
          "description": "The list of classes for which the backup restoration process was started",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "error": {
          "description": "error message if restoration failed",
          "type": "string"
        },
        "id": {
          "description": "The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
          "type": "string"
        },
        "path": {
          "description": "destination path of backup files proper to selected backend",
          "type": "string"
        },
        "status": {
          "description": "phase of backup restoration process",
          "type": "string",
          "default": "STARTED",
          "enum": [
            "STARTED",
            "TRANSFERRING",
            "TRANSFERRED",
            "SUCCESS",
            "FAILED"
          ]
        }
      }
    },
    "BackupRestoreStatusResponse": {
      "description": "The definition of a backup restore metadata",
      "properties": {
        "backend": {
          "description": "Backup backend name e.g. filesystem, gcs, s3.",
          "type": "string"
        },
        "error": {
          "description": "error message if restoration failed",
          "type": "string"
        },
        "id": {
          "description": "The ID of the backup. Must be URL-safe and work as a filesystem path, only lowercase, numbers, underscore, minus characters allowed.",
          "type": "string"
        },
        "path": {
          "description": "destination path of backup files proper to selected backup backend",
          "type": "string"
        },
        "status": {
          "description": "phase of backup restoration process",
          "type": "string",
          "default": "STARTED",
          "enum": [
            "STARTED",
            "TRANSFERRING",
            "TRANSFERRED",
            "SUCCESS",
            "FAILED"
          ]
        }
      }
    },
    "BatchDelete": {
      "type": "object",
      "properties": {
        "dryRun": {
          "description": "If true, objects will not be deleted yet, but merely listed. Defaults to false.",
          "type": "boolean",
          "default": false
        },
        "match": {
          "description": "Outlines how to find the objects to be deleted.",
          "type": "object",
          "properties": {
            "class": {
              "description": "Class (name) which objects will be deleted.",
              "type": "string",
              "example": "City"
            },
            "where": {
              "description": "Filter to limit the objects to be deleted.",
              "type": "object",
              "$ref": "#/definitions/WhereFilter"
            }
          }
        },
        "output": {
          "description": "Controls the verbosity of the output, possible values are: \"minimal\", \"verbose\". Defaults to \"minimal\".",
          "type": "string",
          "default": "minimal"
        }
      }
    },
    "BatchDeleteMatch": {
      "description": "Outlines how to find the objects to be deleted.",
      "type": "object",
      "properties": {
        "class": {
          "description": "Class (name) which objects will be deleted.",
          "type": "string",
          "example": "City"
        },
        "where": {
          "description": "Filter to limit the objects to be deleted.",
          "type": "object",
          "$ref": "#/definitions/WhereFilter"
        }
      }
    },
    "BatchDeleteResponse": {
      "description": "Delete Objects response.",
      "type": "object",
      "properties": {
        "dryRun": {
          "description": "If true, objects will not be deleted yet, but merely listed. Defaults to false.",
          "type": "boolean",
          "default": false
        },
        "match": {
          "description": "Outlines how to find the objects to be deleted.",
          "type": "object",
          "properties": {
            "class": {
              "description": "Class (name) which objects will be deleted.",
              "type": "string",
              "example": "City"
            },
            "where": {
              "description": "Filter to limit the objects to be deleted.",
              "type": "object",
              "$ref": "#/definitions/WhereFilter"
            }
          }
        },
        "output": {
          "description": "Controls the verbosity of the output, possible values are: \"minimal\", \"verbose\". Defaults to \"minimal\".",
          "type": "string",
          "default": "minimal"
        },
        "results": {
          "type": "object",
          "properties": {
            "failed": {
              "description": "How many objects should have been deleted but could not be deleted.",
              "type": "number",
              "format": "int64",
              "x-omitempty": false
            },
            "limit": {
              "description": "The most amount of objects that can be deleted in a single query, equals QUERY_MAXIMUM_RESULTS.",
              "type": "number",
              "format": "int64",
              "x-omitempty": false
            },
            "matches": {
              "description": "How many objects were matched by the filter.",
              "type": "number",
              "format": "int64",
              "x-omitempty": false
            },
            "objects": {
              "description": "With output set to \"minimal\" only objects with error occurred will the be described. Successfully deleted objects would be omitted. Output set to \"verbose\" will list all of the objets with their respective statuses.",
              "type": "array",
              "items": {
                "$ref": "#/definitions/BatchDeleteResponseResultsObjectsItems0"
              }
            },
            "successful": {
              "description": "How many objects were successfully deleted in this round.",
              "type": "number",
              "format": "int64",
              "x-omitempty": false
            }
          }
        }
      }
    },
    "BatchDeleteResponseMatch": {
      "description": "Outlines how to find the objects to be deleted.",
      "type": "object",
      "properties": {
        "class": {
          "description": "Class (name) which objects will be deleted.",
          "type": "string",
          "example": "City"
        },
        "where": {
          "description": "Filter to limit the objects to be deleted.",
          "type": "object",
          "$ref": "#/definitions/WhereFilter"
        }
      }
    },
    "BatchDeleteResponseResults": {
      "type": "object",
      "properties": {
        "failed": {
          "description": "How many objects should have been deleted but could not be deleted.",
          "type": "number",
          "format": "int64",
          "x-omitempty": false
        },
        "limit": {
          "description": "The most amount of objects that can be deleted in a single query, equals QUERY_MAXIMUM_RESULTS.",
          "type": "number",
          "format": "int64",
          "x-omitempty": false
        },
        "matches": {
          "description": "How many objects were matched by the filter.",
          "type": "number",
          "format": "int64",
          "x-omitempty": false
        },
        "objects": {
          "description": "With output set to \"minimal\" only objects with error occurred will the be described. Successfully deleted objects would be omitted. Output set to \"verbose\" will list all of the objets with their respective statuses.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/BatchDeleteResponseResultsObjectsItems0"
          }
        },
        "successful": {
          "description": "How many objects were successfully deleted in this round.",
          "type": "number",
          "format": "int64",
          "x-omitempty": false
        }
      }
    },
    "BatchDeleteResponseResultsObjectsItems0": {
      "description": "Results for this specific Object.",
      "format": "object",
      "properties": {
        "errors": {
          "$ref": "#/definitions/ErrorResponse"
        },
        "id": {
          "description": "ID of the Object.",
          "type": "string",
          "format": "uuid"
        },
        "status": {
          "type": "string",
          "default": "SUCCESS",
          "enum": [
            "SUCCESS",
            "DRYRUN",
            "FAILED"
          ]
        }
      }
    },
    "BatchReference": {
      "properties": {
        "from": {
          "description": "Long-form beacon-style URI to identify the source of the cross-ref including the property name. Should be in the form of weaviate://localhost/\u003ckinds\u003e/\u003cuuid\u003e/\u003cclassName\u003e/\u003cpropertyName\u003e, where \u003ckinds\u003e must be one of 'objects', 'objects' and \u003cclassName\u003e and \u003cpropertyName\u003e must represent the cross-ref property of source class to be used.",
          "type": "string",
          "format": "uri",
          "example": "weaviate://localhost/Zoo/a5d09582-4239-4702-81c9-92a6e0122bb4/hasAnimals"
        },
        "tenant": {
          "description": "Name of the reference tenant.",
          "type": "string"
        },
        "to": {
          "description": "Short-form URI to point to the cross-ref. Should be in the form of weaviate://localhost/\u003cuuid\u003e for the example of a local cross-ref to an object",
          "type": "string",
          "format": "uri",
          "example": "weaviate://localhost/97525810-a9a5-4eb0-858a-71449aeb007f"
        }
      }
    },
    "BatchReferenceResponse": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/definitions/BatchReference"
        },
        {
          "properties": {
            "result": {
              "description": "Results for this specific reference.",
              "format": "object",
              "properties": {
                "errors": {
                  "$ref": "#/definitions/ErrorResponse"
                },
                "status": {
                  "type": "string",
                  "default": "SUCCESS",
                  "enum": [
                    "SUCCESS",
                    "PENDING",
                    "FAILED"
                  ]
                }
              }
            }
          }
        }
      ]
    },
    "BatchReferenceResponseAO1Result": {
      "description": "Results for this specific reference.",
      "format": "object",
      "properties": {
        "errors": {
          "$ref": "#/definitions/ErrorResponse"
        },
        "status": {
          "type": "string",
          "default": "SUCCESS",
          "enum": [
            "SUCCESS",
            "PENDING",
            "FAILED"
          ]
        }
      }
    },
    "BatchStats": {
      "description": "The summary of a nodes batch queue congestion status.",
      "properties": {
        "queueLength": {
          "description": "How many objects are currently in the batch queue.",
          "type": "number",
          "format": "int",
          "x-nullable": true,
          "x-omitempty": true
        },
        "ratePerSecond": {
          "description": "How many objects are approximately processed from the batch queue per second.",
          "type": "number",
          "format": "int",
          "x-omitempty": false
        }
      }
    },
    "C11yExtension": {
      "description": "A resource describing an extension to the contextinoary, containing both the identifier and the definition of the extension",
      "properties": {
        "concept": {
          "description": "The new concept you want to extend. Must be an all-lowercase single word, or a space delimited compound word. Examples: 'foobarium', 'my custom concept'",
          "type": "string",
          "example": "foobarium"
        },
        "definition": {
          "description": "A list of space-delimited words or a sentence describing what the custom concept is about. Avoid using the custom concept itself. An Example definition for the custom concept 'foobarium': would be 'a naturally occurring element which can only be seen by programmers'",
          "type": "string"
        },
        "weight": {
          "description": "Weight of the definition of the new concept where 1='override existing definition entirely' and 0='ignore custom definition'. Note that if the custom concept is not present in the contextionary yet, the weight cannot be less than 1.",
          "type": "number",
          "format": "float"
        }
      }
    },
    "C11yNearestNeighbors": {
      "description": "C11y function to show the nearest neighbors to a word.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/C11yNearestNeighborsItems0"
      }
    },
    "C11yNearestNeighborsItems0": {
      "type": "object",
      "properties": {
        "distance": {
          "type": "number",
          "format": "float"
        },
        "word": {
          "type": "string"
        }
      }
    },
    "C11yVector": {
      "description": "A Vector in the Contextionary",
      "type": "array",
      "items": {
        "type": "number",
        "format": "float"
      }
    },
    "C11yVectorBasedQuestion": {
      "description": "Receive question based on array of classes, properties and values.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/C11yVectorBasedQuestionItems0"
      }
    },
    "C11yVectorBasedQuestionItems0": {
      "type": "object",
      "properties": {
        "classProps": {
          "description": "Vectorized properties.",
          "type": "array",
          "maxItems": 300,
          "minItems": 300,
          "items": {
            "$ref": "#/definitions/C11yVectorBasedQuestionItems0ClassPropsItems0"
          }
        },
        "classVectors": {
          "description": "Vectorized classname.",
          "type": "array",
          "maxItems": 300,
          "minItems": 300,
          "items": {
            "type": "number",
            "format": "float"
          }
        }
      }
    },
    "C11yVectorBasedQuestionItems0ClassPropsItems0": {
      "type": "object",
      "properties": {
        "propsVectors": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "float"
          }
        },
        "value": {
          "description": "String with valuename.",
          "type": "string"
        }
      }
    },
    "C11yWordsResponse": {
      "description": "An array of available words and contexts.",
      "properties": {
        "concatenatedWord": {
          "description": "Weighted results for all words",
          "type": "object",
          "properties": {
            "concatenatedNearestNeighbors": {
              "$ref": "#/definitions/C11yNearestNeighbors"
            },
            "concatenatedVector": {
              "$ref": "#/definitions/C11yVector"
            },
            "concatenatedWord": {
              "type": "string"
            },
            "singleWords": {
              "type": "array",
              "items": {
                "format": "string"
              }
            }
          }
        },
        "individualWords": {
          "description": "Weighted results for per individual word",
          "type": "array",
          "items": {
            "$ref": "#/definitions/C11yWordsResponseIndividualWordsItems0"
          }
        }
      }
    },
    "C11yWordsResponseConcatenatedWord": {
      "description": "Weighted results for all words",
      "type": "object",
      "properties": {
        "concatenatedNearestNeighbors": {
          "$ref": "#/definitions/C11yNearestNeighbors"
        },
        "concatenatedVector": {
          "$ref": "#/definitions/C11yVector"
        },
        "concatenatedWord": {
          "type": "string"
        },
        "singleWords": {
          "type": "array",
          "items": {
            "format": "string"
          }
        }
      }
    },
    "C11yWordsResponseIndividualWordsItems0": {
      "type": "object",
      "properties": {
        "info": {
          "type": "object",
          "properties": {
            "nearestNeighbors": {
              "$ref": "#/definitions/C11yNearestNeighbors"
            },
            "vector": {
              "$ref": "#/definitions/C11yVector"
            }
          }
        },
        "present": {
          "type": "boolean"
        },
        "word": {
          "type": "string"
        }
      }
    },
    "C11yWordsResponseIndividualWordsItems0Info": {
      "type": "object",
      "properties": {
        "nearestNeighbors": {
          "$ref": "#/definitions/C11yNearestNeighbors"
        },
        "vector": {
          "$ref": "#/definitions/C11yVector"
        }
      }
    },
    "Class": {
      "type": "object",
      "properties": {
        "class": {
          "description": "Name of the class as URI relative to the schema URL.",
          "type": "string"
        },
        "description": {
          "description": "Description of the class.",
          "type": "string"
        },
        "invertedIndexConfig": {
          "$ref": "#/definitions/InvertedIndexConfig"
        },
        "moduleConfig": {
          "description": "Configuration specific to modules this Weaviate instance has installed",
          "type": "object"
        },
        "multiTenancyConfig": {
          "$ref": "#/definitions/MultiTenancyConfig"
        },
        "properties": {
          "description": "The properties of the class.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Property"
          }
        },
        "replicationConfig": {
          "$ref": "#/definitions/ReplicationConfig"
        },
        "shardingConfig": {
          "description": "Manage how the index should be sharded and distributed in the cluster",
          "type": "object"
        },
        "vectorConfig": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/VectorConfig"
          }
        },
        "vectorIndexConfig": {
          "description": "Vector-index config, that is specific to the type of index selected in vectorIndexType",
          "type": "object"
        },
        "vectorIndexType": {
          "description": "Name of the vector index to use, eg. (HNSW)",
          "type": "string"
        },
        "vectorizer": {
          "description": "Specify how the vectors for this class should be determined. The options are either 'none' - this means you have to import a vector with each object yourself - or the name of a module that provides vectorization capabilities, such as 'text2vec-contextionary'. If left empty, it will use the globally configured default which can itself either be 'none' or a specific module.",
          "type": "string"
        }
      }
    },
    "Classification": {
      "description": "Manage classifications, trigger them and view status of past classifications.",
      "type": "object",
      "properties": {
        "basedOnProperties": {
          "description": "base the text-based classification on these fields (of type text)",
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "description"
          ]
        },
        "class": {
          "description": "class (name) which is used in this classification",
          "type": "string",
          "example": "City"
        },
        "classifyProperties": {
          "description": "which ref-property to set as part of the classification",
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "inCountry"
          ]
        },
        "error": {
          "description": "error message if status == failed",
          "type": "string",
          "default": "",
          "example": "classify xzy: something went wrong"
        },
        "filters": {
          "type": "object",
          "properties": {
            "sourceWhere": {
              "description": "limit the objects to be classified",
              "type": "object",
              "$ref": "#/definitions/WhereFilter"
            },
            "targetWhere": {
              "description": "Limit the possible sources when using an algorithm which doesn't really on training data, e.g. 'contextual'. When using an algorithm with a training set, such as 'knn', limit the training set instead",
              "type": "object",
              "$ref": "#/definitions/WhereFilter"
            },
            "trainingSetWhere": {
              "description": "Limit the training objects to be considered during the classification. Can only be used on types with explicit training sets, such as 'knn'",
              "type": "object",
              "$ref": "#/definitions/WhereFilter"
            }
          }
        },
        "id": {
          "description": "ID to uniquely identify this classification run",
          "type": "string",
          "format": "uuid",
          "example": "ee722219-b8ec-4db1-8f8d-5150bb1a9e0c"
        },
        "meta": {
          "description": "additional meta information about the classification",
          "type": "object",
          "$ref": "#/definitions/ClassificationMeta"
        },
        "settings": {
          "description": "classification-type specific settings",
          "type": "object"
        },
        "status": {
          "description": "status of this classification",
          "type": "string",
          "enum": [
            "running",
            "completed",
            "failed"
          ],
          "example": "running"
        },
        "type": {
          "description": "which algorithm to use for classifications",
          "type": "string"
        }
      }
    },
    "ClassificationFilters": {
      "type": "object",
      "properties": {
        "sourceWhere": {
          "description": "limit the objects to be classified",
          "type": "object",
          "$ref": "#/definitions/WhereFilter"
        },
        "targetWhere": {
          "description": "Limit the possible sources when using an algorithm which doesn't really on training data, e.g. 'contextual'. When using an algorithm with a training set, such as 'knn', limit the training set instead",
          "type": "object",
          "$ref": "#/definitions/WhereFilter"
        },
        "trainingSetWhere": {
          "description": "Limit the training objects to be considered during the classification. Can only be used on types with explicit training sets, such as 'knn'",
          "type": "object",
          "$ref": "#/definitions/WhereFilter"
        }
      }
    },
    "ClassificationMeta": {
      "description": "Additional information to a specific classification",
      "type": "object",
      "properties": {
        "completed": {
          "description": "time when this classification finished",
          "type": "string",
          "format": "date-time",
          "example": "2017-07-21T17:32:28Z"
        },
        "count": {
          "description": "number of objects which were taken into consideration for classification",
          "type": "integer",
          "example": 147
        },
        "countFailed": {
          "description": "number of objects which could not be classified - see error message for details",
          "type": "integer",
          "example": 7
        },
        "countSucceeded": {
          "description": "number of objects successfully classified",
          "type": "integer",
          "example": 140
        },
        "started": {
          "description": "time when this classification was started",
          "type": "string",
          "format": "date-time",
          "example": "2017-07-21T17:32:28Z"
        }
      }
    },
    "ClusterStatisticsResponse": {
      "description": "The cluster statistics of all of the Weaviate nodes",
      "type": "object",
      "properties": {
        "statistics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Statistics"
          }
        },
        "synchronized": {
          "type": "boolean",
          "x-omitempty": false
        }
      }
    },
    "Deprecation": {
      "type": "object",
      "properties": {
        "apiType": {
          "description": "Describes which API is effected, usually one of: REST, GraphQL",
          "type": "string"
        },
        "id": {
          "description": "The id that uniquely identifies this particular deprecations (mostly used internally)",
          "type": "string"
        },
        "locations": {
          "description": "The locations within the specified API affected by this deprecation",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "mitigation": {
          "description": "User-required object to not be affected by the (planned) removal",
          "type": "string"
        },
        "msg": {
          "description": "What this deprecation is about",
          "type": "string"
        },
        "plannedRemovalVersion": {
          "description": "A best-effort guess of which upcoming version will remove the feature entirely",
          "type": "string"
        },
        "removedIn": {
          "description": "If the feature has already been removed, it was removed in this version",
          "type": "string",
          "x-nullable": true
        },
        "removedTime": {
          "description": "If the feature has already been removed, it was removed at this timestamp",
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "sinceTime": {
          "description": "The deprecation was introduced in this version",
          "type": "string",
          "format": "date-time"
        },
        "sinceVersion": {
          "description": "The deprecation was introduced in this version",
          "type": "string"
        },
        "status": {
          "description": "Whether the problematic API functionality is deprecated (planned to be removed) or already removed",
          "type": "string"
        }
      }
    },
    "ErrorResponse": {
      "description": "An error response given by Weaviate end-points.",
      "type": "object",
      "properties": {
        "error": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ErrorResponseErrorItems0"
          }
        }
      }
    },
    "ErrorResponseErrorItems0": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        }
      }
    },
    "GeoCoordinates": {
      "properties": {
        "latitude": {
          "description": "The latitude of the point on earth in decimal form",
          "type": "number",
          "format": "float",
          "x-nullable": true
        },
        "longitude": {
          "description": "The longitude of the point on earth in decimal form",
          "type": "number",
          "format": "float",
          "x-nullable": true
        }
      }
    },
    "GraphQLError": {
      "description": "An error response caused by a GraphQL query.",
      "properties": {
        "locations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GraphQLErrorLocationsItems0"
          }
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GraphQLErrorLocationsItems0": {
      "type": "object",
      "properties": {
        "column": {
          "type": "integer",
          "format": "int64"
        },
        "line": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "GraphQLQueries": {
      "description": "A list of GraphQL queries.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/GraphQLQuery"
      }
    },
    "GraphQLQuery": {
      "description": "GraphQL query based on: http://facebook.github.io/graphql/.",
      "type": "object",
      "properties": {
        "operationName": {
          "description": "The name of the operation if multiple exist in the query.",
          "type": "string"
        },
        "query": {
          "description": "Query based on GraphQL syntax.",
          "type": "string"
        },
        "variables": {
          "description": "Additional variables for the query.",
          "type": "object"
        }
      }
    },
    "GraphQLResponse": {
      "description": "GraphQL based response: http://facebook.github.io/graphql/.",
      "properties": {
        "data": {
          "description": "GraphQL data object.",
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/JsonObject"
          }
        },
        "errors": {
          "description": "Array with errors.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/GraphQLError"
          },
          "x-omitempty": true
        }
      }
    },
    "GraphQLResponses": {
      "description": "A list of GraphQL responses.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/GraphQLResponse"
      }
    },
    "InvertedIndexConfig": {
      "description": "Configure the inverted index built into Weaviate",
      "type": "object",
      "properties": {
        "bm25": {
          "$ref": "#/definitions/BM25Config"
        },
        "cleanupIntervalSeconds": {
          "description": "Asynchronous index clean up happens every n seconds",
          "type": "number",
          "format": "int"
        },
        "indexNullState": {
          "description": "Index each object with the null state",
          "type": "boolean"
        },
        "indexPropertyLength": {
          "description": "Index length of properties",
          "type": "boolean"
        },
        "indexTimestamps": {
          "description": "Index each object by its internal timestamps",
          "type": "boolean"
        },
        "stopwords": {
          "$ref": "#/definitions/StopwordConfig"
        }
      }
    },
    "JsonObject": {
      "description": "JSON object value.",
      "type": "object"
    },
    "Link": {
      "type": "object",
      "properties": {
        "documentationHref": {
          "description": "weaviate documentation about this resource group",
          "type": "string"
        },
        "href": {
          "description": "target of the link",
          "type": "string"
        },
        "name": {
          "description": "human readable name of the resource group",
          "type": "string"
        },
        "rel": {
          "description": "relationship if both resources are related, e.g. 'next', 'previous', 'parent', etc.",
          "type": "string"
        }
      }
    },
    "Meta": {
      "description": "Contains meta information of the current Weaviate instance.",
      "type": "object",
      "properties": {
        "hostname": {
          "description": "The url of the host.",
          "type": "string",
          "format": "url"
        },
        "modules": {
          "description": "Module-specific meta information",
          "type": "object"
        },
        "version": {
          "description": "Version of weaviate you are currently running",
          "type": "string"
        }
      }
    },
    "MultiTenancyConfig": {
      "description": "Configuration related to multi-tenancy within a class",
      "properties": {
        "autoTenantCreation": {
          "description": "Nonexistent tenants should (not) be created implicitly",
          "type": "boolean",
          "x-omitempty": false
        },
        "enabled": {
          "description": "Whether or not multi-tenancy is enabled for this class",
          "type": "boolean",
          "x-omitempty": false
        }
      }
    },
    "MultipleRef": {
      "description": "Multiple instances of references to other objects.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/SingleRef"
      }
    },
    "NestedProperty": {
      "type": "object",
      "properties": {
        "dataType": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        },
        "indexFilterable": {
          "type": "boolean",
          "x-nullable": true
        },
        "indexSearchable": {
          "type": "boolean",
          "x-nullable": true
        },
        "name": {
          "type": "string"
        },
        "nestedProperties": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NestedProperty"
          },
          "x-omitempty": true
        },
        "tokenization": {
          "type": "string",
          "enum": [
            "word",
            "lowercase",
            "whitespace",
            "field"
          ]
        }
      }
    },
    "NodeShardStatus": {
      "description": "The definition of a node shard status response body",
      "properties": {
        "class": {
          "description": "The name of shard's class.",
          "type": "string",
          "x-omitempty": false
        },
        "compressed": {
          "description": "The status of vector compression/quantization.",
          "format": "boolean",
          "x-omitempty": false
        },
        "loaded": {
          "description": "The load status of the shard.",
          "type": "boolean",
          "x-omitempty": false
        },
        "name": {
          "description": "The name of the shard.",
          "type": "string",
          "x-omitempty": false
        },
        "objectCount": {
          "description": "The number of objects in shard.",
          "type": "number",
          "format": "int64",
          "x-omitempty": false
        },
        "vectorIndexingStatus": {
          "description": "The status of the vector indexing process.",
          "format": "string",
          "x-omitempty": false
        },
        "vectorQueueLength": {
          "description": "The length of the vector indexing queue.",
          "type": "number",
          "format": "int64",
          "x-omitempty": false
        }
      }
    },
    "NodeStats": {
      "description": "The summary of Weaviate's statistics.",
      "properties": {
        "objectCount": {
          "description": "The total number of objects in DB.",
          "type": "number",
          "format": "int64",
          "x-omitempty": false
        },
        "shardCount": {
          "description": "The count of Weaviate's shards.",
          "type": "number",
          "format": "int",
          "x-omitempty": false
        }
      }
    },
    "NodeStatus": {
      "description": "The definition of a backup node status response body",
      "properties": {
        "batchStats": {
          "description": "Weaviate batch statistics.",
          "type": "object",
          "$ref": "#/definitions/BatchStats"
        },
        "gitHash": {
          "description": "The gitHash of Weaviate.",
          "type": "string"
        },
        "name": {
          "description": "The name of the node.",
          "type": "string"
        },
        "shards": {
          "description": "The list of the shards with it's statistics.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/NodeShardStatus"
          }
        },
        "stats": {
          "description": "Weaviate overall statistics.",
          "type": "object",
          "$ref": "#/definitions/NodeStats"
        },
        "status": {
          "description": "Node's status.",
          "type": "string",
          "default": "HEALTHY",
          "enum": [
            "HEALTHY",
            "UNHEALTHY",
            "UNAVAILABLE",
            "TIMEOUT"
          ]
        },
        "version": {
          "description": "The version of Weaviate.",
          "type": "string"
        }
      }
    },
    "NodesStatusResponse": {
      "description": "The status of all of the Weaviate nodes",
      "type": "object",
      "properties": {
        "nodes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NodeStatus"
          }
        }
      }
    },
    "Object": {
      "type": "object",
      "properties": {
        "additional": {
          "$ref": "#/definitions/AdditionalProperties"
        },
        "class": {
          "description": "Class of the Object, defined in the schema.",
          "type": "string"
        },
        "creationTimeUnix": {
          "description": "Timestamp of creation of this Object in milliseconds since epoch UTC.",
          "type": "integer",
          "format": "int64"
        },
        "id": {
          "description": "ID of the Object.",
          "type": "string",
          "format": "uuid"
        },
        "lastUpdateTimeUnix": {
          "description": "Timestamp of the last Object update in milliseconds since epoch UTC.",
          "type": "integer",
          "format": "int64"
        },
        "properties": {
          "$ref": "#/definitions/PropertySchema"
        },
        "tenant": {
          "description": "Name of the Objects tenant.",
          "type": "string"
        },
        "vector": {
          "description": "This field returns vectors associated with the Object. C11yVector, Vector or Vectors values are possible.",
          "$ref": "#/definitions/C11yVector"
        },
        "vectorWeights": {
          "$ref": "#/definitions/VectorWeights"
        },
        "vectors": {
          "description": "This field returns vectors associated with the Object.",
          "$ref": "#/definitions/Vectors"
        }
      }
    },
    "ObjectsGetResponse": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/definitions/Object"
        },
        {
          "properties": {
            "deprecations": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Deprecation"
              }
            }
          }
        },
        {
          "properties": {
            "result": {
              "description": "Results for this specific Object.",
              "format": "object",
              "properties": {
                "errors": {
                  "$ref": "#/definitions/ErrorResponse"
                },
                "status": {
                  "type": "string",
                  "default": "SUCCESS",
                  "enum": [
                    "SUCCESS",
                    "PENDING",
                    "FAILED"
                  ]
                }
              }
            }
          }
        }
      ]
    },
    "ObjectsGetResponseAO2Result": {
      "description": "Results for this specific Object.",
      "format": "object",
      "properties": {
        "errors": {
          "$ref": "#/definitions/ErrorResponse"
        },
        "status": {
          "type": "string",
          "default": "SUCCESS",
          "enum": [
            "SUCCESS",
            "PENDING",
            "FAILED"
          ]
        }
      }
    },
    "ObjectsListResponse": {
      "description": "List of Objects.",
      "type": "object",
      "properties": {
        "deprecations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Deprecation"
          }
        },
        "objects": {
          "description": "The actual list of Objects.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Object"
          }
        },
        "totalResults": {
          "description": "The total number of Objects for the query. The number of items in a response may be smaller due to paging.",
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "PatchDocumentAction": {
      "description": "Either a JSONPatch document as defined by RFC 6902 (from, op, path, value), or a merge document (RFC 7396).",
      "required": [
        "op",
        "path"
      ],
      "properties": {
        "from": {
          "description": "A string containing a JSON Pointer value.",
          "type": "string"
        },
        "merge": {
          "$ref": "#/definitions/Object"
        },
        "op": {
          "description": "The operation to be performed.",
          "type": "string",
          "enum": [
            "add",
            "remove",
            "replace",
            "move",
            "copy",
            "test"
          ]
        },
        "path": {
          "description": "A JSON-Pointer.",
          "type": "string"
        },
        "value": {
          "description": "The value to be used within the operations.",
          "type": "object"
        }
      }
    },
    "PatchDocumentObject": {
      "description": "Either a JSONPatch document as defined by RFC 6902 (from, op, path, value), or a merge document (RFC 7396).",
      "required": [
        "op",
        "path"
      ],
      "properties": {
        "from": {
          "description": "A string containing a JSON Pointer value.",
          "type": "string"
        },
        "merge": {
          "$ref": "#/definitions/Object"
        },
        "op": {
          "description": "The operation to be performed.",
          "type": "string",
          "enum": [
            "add",
            "remove",
            "replace",
            "move",
            "copy",
            "test"
          ]
        },
        "path": {
          "description": "A JSON-Pointer.",
          "type": "string"
        },
        "value": {
          "description": "The value to be used within the operations.",
          "type": "object"
        }
      }
    },
    "PeerUpdate": {
      "description": "A single peer in the network.",
      "properties": {
        "id": {
          "description": "The session ID of the peer.",
          "type": "string",
          "format": "uuid"
        },
        "name": {
          "description": "Human readable name.",
          "type": "string"
        },
        "schemaHash": {
          "description": "The latest known hash of the peer's schema.",
          "type": "string"
        },
        "uri": {
          "description": "The location where the peer is exposed to the internet.",
          "type": "string",
          "format": "uri"
        }
      }
    },
    "PeerUpdateList": {
      "description": "List of known peers.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/PeerUpdate"
      }
    },
    "PhoneNumber": {
      "properties": {
        "countryCode": {
          "description": "Read-only. The numerical country code (e.g. 49)",
          "type": "number",
          "format": "uint64"
        },
        "defaultCountry": {
          "description": "Optional. The ISO 3166-1 alpha-2 country code. This is used to figure out the correct countryCode and international format if only a national number (e.g. 0123 4567) is provided",
          "type": "string"
        },
        "input": {
          "description": "The raw input as the phone number is present in your raw data set. It will be parsed into the standardized formats if valid.",
          "type": "string"
        },
        "internationalFormatted": {
          "description": "Read-only. Parsed result in the international format (e.g. +49 123 ...)",
          "type": "string"
        },
        "national": {
          "description": "Read-only. The numerical representation of the national part",
          "type": "number",
          "format": "uint64"
        },
        "nationalFormatted": {
          "description": "Read-only. Parsed result in the national format (e.g. 0123 456789)",
          "type": "string"
        },
        "valid": {
          "description": "Read-only. Indicates whether the parsed number is a valid phone number",
          "type": "boolean"
        }
      }
    },
    "Principal": {
      "type": "object",
      "properties": {
        "groups": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "username": {
          "description": "The username that was extracted either from the authentication information",
          "type": "string"
        }
      }
    },
    "Property": {
      "type": "object",
      "properties": {
        "dataType": {
          "description": "Can be a reference to another type when it starts with a capital (for example Person), otherwise \"string\" or \"int\".",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "description": "Description of the property.",
          "type": "string"
        },
        "indexFilterable": {
          "description": "Optional. Should this property be indexed in the inverted index. Defaults to true. If you choose false, you will not be able to use this property in where filters. This property has no affect on vectorization decisions done by modules",
          "type": "boolean",
          "x-nullable": true
        },
        "indexInverted": {
          "description": "Optional. Should this property be indexed in the inverted index. Defaults to true. If you choose false, you will not be able to use this property in where filters, bm25 or hybrid search. This property has no affect on vectorization decisions done by modules (deprecated as of v1.19; use indexFilterable or/and indexSearchable instead)",
          "type": "boolean",
          "x-nullable": true
        },
        "indexSearchable": {
          "description": "Optional. Should this property be indexed in the inverted index. Defaults to true. Applicable only to properties of data type text and text[]. If you choose false, you will not be able to use this property in bm25 or hybrid search. This property has no affect on vectorization decisions done by modules",
          "type": "boolean",
          "x-nullable": true
        },
        "moduleConfig": {
          "description": "Configuration specific to modules this Weaviate instance has installed",
          "type": "object"
        },
        "name": {
          "description": "Name of the property as URI relative to the schema URL.",
          "type": "string"
        },
        "nestedProperties": {
          "description": "The properties of the nested object(s). Applies to object and object[] data types.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/NestedProperty"
          },
          "x-omitempty": true
        },
        "tokenization": {
          "description": "Determines tokenization of the property as separate words or whole field. Optional. Applies to text and text[] data types. Allowed values are ` + "`" + `word` + "`" + ` (default; splits on any non-alphanumerical, lowercases), ` + "`" + `lowercase` + "`" + ` (splits on white spaces, lowercases), ` + "`" + `whitespace` + "`" + ` (splits on white spaces), ` + "`" + `field` + "`" + ` (trims). Not supported for remaining data types",
          "type": "string",
          "enum": [
            "word",
            "lowercase",
            "whitespace",
            "field",
            "trigram",
            "gse"
          ]
        }
      }
    },
    "PropertySchema": {
      "description": "This is an open object, with OpenAPI Specification 3.0 this will be more detailed. See Weaviate docs for more info. In the future this will become a key/value OR a SingleRef definition.",
      "type": "object"
    },
    "RaftStatistics": {
      "description": "The definition of Raft statistics.",
      "properties": {
        "appliedIndex": {
          "type": "string"
        },
        "commitIndex": {
          "type": "string"
        },
        "fsmPending": {
          "type": "string"
        },
        "lastContact": {
          "type": "string"
        },
        "lastLogIndex": {
          "type": "string"
        },
        "lastLogTerm": {
          "type": "string"
        },
        "lastSnapshotIndex": {
          "type": "string"
        },
        "lastSnapshotTerm": {
          "type": "string"
        },
        "latestConfiguration": {
          "description": "Weaviate Raft nodes.",
          "type": "object"
        },
        "latestConfigurationIndex": {
          "type": "string"
        },
        "numPeers": {
          "type": "string"
        },
        "protocolVersion": {
          "type": "string"
        },
        "protocolVersionMax": {
          "type": "string"
        },
        "protocolVersionMin": {
          "type": "string"
        },
        "snapshotVersionMax": {
          "type": "string"
        },
        "snapshotVersionMin": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "term": {
          "type": "string"
        }
      }
    },
    "ReferenceMetaClassification": {
      "description": "This meta field contains additional info about the classified reference property",
      "properties": {
        "closestLosingDistance": {
          "description": "The lowest distance of a neighbor in the losing group. Optional. If k equals the size of the winning group, there is no losing group",
          "type": "number",
          "format": "float32",
          "x-nullable": true
        },
        "closestOverallDistance": {
          "description": "The lowest distance of any neighbor, regardless of whether they were in the winning or losing group",
          "type": "number",
          "format": "float32"
        },
        "closestWinningDistance": {
          "description": "Closest distance of a neighbor from the winning group",
          "type": "number",
          "format": "float32"
        },
        "losingCount": {
          "description": "size of the losing group, can be 0 if the winning group size equals k",
          "type": "number",
          "format": "int64"
        },
        "losingDistance": {
          "description": "deprecated - do not use, to be removed in 0.23.0",
          "type": "number",
          "format": "float32",
          "x-nullable": true
        },
        "meanLosingDistance": {
          "description": "Mean distance of all neighbors from the losing group. Optional. If k equals the size of the winning group, there is no losing group.",
          "type": "number",
          "format": "float32",
          "x-nullable": true
        },
        "meanWinningDistance": {
          "description": "Mean distance of all neighbors from the winning group",
          "type": "number",
          "format": "float32"
        },
        "overallCount": {
          "description": "overall neighbors checked as part of the classification. In most cases this will equal k, but could be lower than k - for example if not enough data was present",
          "type": "number",
          "format": "int64"
        },
        "winningCount": {
          "description": "size of the winning group, a number between 1..k",
          "type": "number",
          "format": "int64"
        },
        "winningDistance": {
          "description": "deprecated - do not use, to be removed in 0.23.0",
          "type": "number",
          "format": "float32"
        }
      }
    },
    "ReplicationConfig": {
      "description": "Configure how replication is executed in a cluster",
      "type": "object",
      "properties": {
        "factor": {
          "description": "Number of times a class is replicated",
          "type": "integer"
        }
      }
    },
    "RestoreConfig": {
      "description": "Backup custom configuration",
      "type": "object",
      "properties": {
        "CPUPercentage": {
          "description": "Desired CPU core utilization ranging from 1%-80%",
          "type": "integer",
          "default": 50,
          "maximum": 80,
          "minimum": 1,
          "x-nullable": false
        }
      }
    },
    "Schema": {
      "description": "Definitions of semantic schemas (also see: https://github.com/weaviate/weaviate-semantic-schemas).",
      "type": "object",
      "properties": {
        "classes": {
          "description": "Semantic classes that are available.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Class"
          }
        },
        "maintainer": {
          "description": "Email of the maintainer.",
          "type": "string",
          "format": "email"
        },
        "name": {
          "description": "Name of the schema.",
          "type": "string"
        }
      }
    },
    "SchemaClusterStatus": {
      "description": "Indicates the health of the schema in a cluster.",
      "type": "object",
      "properties": {
        "error": {
          "description": "Contains the sync check error if one occurred",
          "type": "string",
          "x-omitempty": true
        },
        "healthy": {
          "description": "True if the cluster is in sync, false if there is an issue (see error).",
          "type": "boolean",
          "x-omitempty": false
        },
        "hostname": {
          "description": "Hostname of the coordinating node, i.e. the one that received the cluster. This can be useful information if the error message contains phrases such as 'other nodes agree, but local does not', etc.",
          "type": "string"
        },
        "ignoreSchemaSync": {
          "description": "The cluster check at startup can be ignored (to recover from an out-of-sync situation).",
          "type": "boolean",
          "x-omitempty": false
        },
        "nodeCount": {
          "description": "Number of nodes that participated in the sync check",
          "type": "number",
          "format": "int"
        }
      }
    },
    "SchemaHistory": {
      "description": "This is an open object, with OpenAPI Specification 3.0 this will be more detailed. See Weaviate docs for more info. In the future this will become a key/value OR a SingleRef definition.",
      "type": "object"
    },
    "ShardStatus": {
      "description": "The status of a single shard",
      "properties": {
        "status": {
          "description": "Status of the shard",
          "type": "string"
        }
      }
    },
    "ShardStatusGetResponse": {
      "description": "Response body of shard status get request",
      "properties": {
        "name": {
          "description": "Name of the shard",
          "type": "string"
        },
        "status": {
          "description": "Status of the shard",
          "type": "string"
        },
        "vectorQueueSize": {
          "description": "Size of the vector queue of the shard",
          "type": "integer",
          "x-omitempty": false
        }
      }
    },
    "ShardStatusList": {
      "description": "The status of all the shards of a Class",
      "type": "array",
      "items": {
        "$ref": "#/definitions/ShardStatusGetResponse"
      }
    },
    "SingleRef": {
      "description": "Either set beacon (direct reference) or set class and schema (concept reference)",
      "properties": {
        "beacon": {
          "description": "If using a direct reference, specify the URI to point to the cross-ref here. Should be in the form of weaviate://localhost/\u003cuuid\u003e for the example of a local cross-ref to an object",
          "type": "string",
          "format": "uri"
        },
        "class": {
          "description": "If using a concept reference (rather than a direct reference), specify the desired class name here",
          "type": "string",
          "format": "uri"
        },
        "classification": {
          "description": "Additional Meta information about classifications if the item was part of one",
          "$ref": "#/definitions/ReferenceMetaClassification"
        },
        "href": {
          "description": "If using a direct reference, this read-only fields provides a link to the referenced resource. If 'origin' is globally configured, an absolute URI is shown - a relative URI otherwise.",
          "type": "string",
          "format": "uri"
        },
        "schema": {
          "description": "If using a concept reference (rather than a direct reference), specify the desired properties here",
          "$ref": "#/definitions/PropertySchema"
        }
      }
    },
    "Statistics": {
      "description": "The definition of node statistics.",
      "properties": {
        "bootstrapped": {
          "type": "boolean"
        },
        "candidates": {
          "type": "object"
        },
        "dbLoaded": {
          "type": "boolean"
        },
        "initialLastAppliedIndex": {
          "type": "number",
          "format": "uint64"
        },
        "isVoter": {
          "type": "boolean"
        },
        "lastAppliedIndex": {
          "type": "number"
        },
        "leaderAddress": {
          "type": "object"
        },
        "leaderId": {
          "type": "object"
        },
        "name": {
          "description": "The name of the node.",
          "type": "string"
        },
        "open": {
          "type": "boolean"
        },
        "raft": {
          "description": "Weaviate Raft statistics.",
          "type": "object",
          "$ref": "#/definitions/RaftStatistics"
        },
        "ready": {
          "type": "boolean"
        },
        "status": {
          "description": "Node's status.",
          "type": "string",
          "default": "HEALTHY",
          "enum": [
            "HEALTHY",
            "UNHEALTHY",
            "UNAVAILABLE",
            "TIMEOUT"
          ]
        }
      }
    },
    "StopwordConfig": {
      "description": "fine-grained control over stopword list usage",
      "type": "object",
      "properties": {
        "additions": {
          "description": "stopwords to be considered additionally",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "preset": {
          "description": "pre-existing list of common words by language",
          "type": "string"
        },
        "removals": {
          "description": "stopwords to be removed from consideration",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Tenant": {
      "description": "attributes representing a single tenant within weaviate",
      "type": "object",
      "properties": {
        "activityStatus": {
          "description": "activity status of the tenant's shard. Optional for creating tenant (implicit ` + "`" + `HOT` + "`" + `) and required for updating tenant. Allowed values are ` + "`" + `HOT` + "`" + ` - tenant is fully active, ` + "`" + `WARM` + "`" + ` - tenant is active, some restrictions are imposed (TBD; not supported yet), ` + "`" + `COLD` + "`" + ` - tenant is inactive; no actions can be performed on tenant, tenant's files are stored locally, ` + "`" + `FROZEN` + "`" + ` - as COLD, but files are stored on cloud storage (not supported yet)",
          "type": "string",
          "enum": [
            "HOT",
            "WARM",
            "COLD",
            "FROZEN"
          ]
        },
        "name": {
          "description": "name of the tenant",
          "type": "string"
        }
      }
    },
    "Vector": {
      "description": "A Vector object",
      "type": "array",
      "items": {
        "type": "number",
        "format": "float"
      }
    },
    "VectorConfig": {
      "type": "object",
      "properties": {
        "vectorIndexConfig": {
          "description": "Vector-index config, that is specific to the type of index selected in vectorIndexType",
          "type": "object"
        },
        "vectorIndexType": {
          "description": "Name of the vector index to use, eg. (HNSW)",
          "type": "string"
        },
        "vectorizer": {
          "description": "Configuration of a specific vectorizer used by this vector",
          "type": "object"
        }
      }
    },
    "VectorWeights": {
      "description": "Allow custom overrides of vector weights as math expressions. E.g. \"pancake\": \"7\" will set the weight for the word pancake to 7 in the vectorization, whereas \"w * 3\" would triple the originally calculated word. This is an open object, with OpenAPI Specification 3.0 this will be more detailed. See Weaviate docs for more info. In the future this will become a key/value (string/string) object.",
      "type": "object"
    },
    "Vectors": {
      "description": "A Multi Vector map of named vectors",
      "type": "object",
      "additionalProperties": {
        "$ref": "#/definitions/Vector"
      }
    },
    "WhereFilter": {
      "description": "Filter search results using a where filter",
      "type": "object",
      "properties": {
        "operands": {
          "description": "combine multiple where filters, requires 'And' or 'Or' operator",
          "type": "array",
          "items": {
            "$ref": "#/definitions/WhereFilter"
          }
        },
        "operator": {
          "description": "operator to use",
          "type": "string",
          "enum": [
            "And",
            "Or",
            "Equal",
            "Like",
            "NotEqual",
            "GreaterThan",
            "GreaterThanEqual",
            "LessThan",
            "LessThanEqual",
            "WithinGeoRange",
            "IsNull",
            "ContainsAny",
            "ContainsAll"
          ],
          "example": "GreaterThanEqual"
        },
        "path": {
          "description": "path to the property currently being filtered",
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "inCity",
            "City",
            "name"
          ]
        },
        "valueBoolean": {
          "description": "value as boolean",
          "type": "boolean",
          "x-nullable": true,
          "example": false
        },
        "valueBooleanArray": {
          "description": "value as boolean",
          "type": "array",
          "items": {
            "type": "boolean"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": [
            true,
            false
          ]
        },
        "valueDate": {
          "description": "value as date (as string)",
          "type": "string",
          "x-nullable": true,
          "example": "TODO"
        },
        "valueDateArray": {
          "description": "value as date (as string)",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": "TODO"
        },
        "valueGeoRange": {
          "description": "value as geo coordinates and distance",
          "type": "object",
          "x-nullable": true,
          "$ref": "#/definitions/WhereFilterGeoRange"
        },
        "valueInt": {
          "description": "value as integer",
          "type": "integer",
          "format": "int64",
          "x-nullable": true,
          "example": 2000
        },
        "valueIntArray": {
          "description": "value as integer",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": "[100, 200]"
        },
        "valueNumber": {
          "description": "value as number/float",
          "type": "number",
          "format": "float64",
          "x-nullable": true,
          "example": 3.14
        },
        "valueNumberArray": {
          "description": "value as number/float",
          "type": "array",
          "items": {
            "type": "number",
            "format": "float64"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": [
            3.14
          ]
        },
        "valueString": {
          "description": "value as text (deprecated as of v1.19; alias for valueText)",
          "type": "string",
          "x-nullable": true,
          "example": "my search term"
        },
        "valueStringArray": {
          "description": "value as text (deprecated as of v1.19; alias for valueText)",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": [
            "my search term"
          ]
        },
        "valueText": {
          "description": "value as text",
          "type": "string",
          "x-nullable": true,
          "example": "my search term"
        },
        "valueTextArray": {
          "description": "value as text",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-nullable": true,
          "x-omitempty": true,
          "example": [
            "my search term"
          ]
        }
      }
    },
    "WhereFilterGeoRange": {
      "description": "filter within a distance of a georange",
      "type": "object",
      "properties": {
        "distance": {
          "type": "object",
          "properties": {
            "max": {
              "type": "number",
              "format": "float64"
            }
          }
        },
        "geoCoordinates": {
          "x-nullable": false,
          "$ref": "#/definitions/GeoCoordinates"
        }
      }
    },
    "WhereFilterGeoRangeDistance": {
      "type": "object",
      "properties": {
        "max": {
          "type": "number",
          "format": "float64"
        }
      }
    }
  },
  "parameters": {
    "CommonAfterParameterQuery": {
      "type": "string",
      "description": "The starting ID of the result window.",
      "name": "after",
      "in": "query"
    },
    "CommonClassParameterQuery": {
      "type": "string",
      "description": "Class parameter specifies the class from which to query objects",
      "name": "class",
      "in": "query"
    },
    "CommonConsistencyLevelParameterQuery": {
      "type": "string",
      "description": "Determines how many replicas must acknowledge a request before it is considered successful",
      "name": "consistency_level",
      "in": "query"
    },
    "CommonIncludeParameterQuery": {
      "type": "string",
      "description": "Include additional information, such as classification infos. Allowed values include: classification, vector, interpretation",
      "name": "include",
      "in": "query"
    },
    "CommonLimitParameterQuery": {
      "type": "integer",
      "format": "int64",
      "description": "The maximum number of items to be returned per page. Default value is set in Weaviate config.",
      "name": "limit",
      "in": "query"
    },
    "CommonNodeNameParameterQuery": {
      "type": "string",
      "description": "The target node which should fulfill the request",
      "name": "node_name",
      "in": "query"
    },
    "CommonOffsetParameterQuery": {
      "type": "integer",
      "format": "int64",
      "default": 0,
      "description": "The starting index of the result window. Default value is 0.",
      "name": "offset",
      "in": "query"
    },
    "CommonOrderParameterQuery": {
      "type": "string",
      "description": "Order parameter to tell how to order (asc or desc) data within given field",
      "name": "order",
      "in": "query"
    },
    "CommonOutputVerbosityParameterQuery": {
      "type": "string",
      "default": "minimal",
      "description": "Controls the verbosity of the output, possible values are: \"minimal\", \"verbose\". Defaults to \"minimal\".",
      "name": "output",
      "in": "query"
    },
    "CommonSortParameterQuery": {
      "type": "string",
      "description": "Sort parameter to pass an information about the names of the sort fields",
      "name": "sort",
      "in": "query"
    },
    "CommonTenantParameterQuery": {
      "type": "string",
      "description": "Specifies the tenant in a request targeting a multi-tenant class",
      "name": "tenant",
      "in": "query"
    }
  },
  "securityDefinitions": {
    "oidc": {
      "description": "OIDC (OpenConnect ID - based on OAuth2)",
      "type": "oauth2",
      "flow": "implicit",
      "authorizationUrl": "http://to-be-configured-in-the-application-config"
    }
  },
  "security": [
    {},
    {
      "oidc": []
    }
  ],
  "tags": [
    {
      "name": "objects"
    },
    {
      "description": "These operations allow to execute batch requests for Objects and Objects. Mostly used for importing large datasets.",
      "name": "batch"
    },
    {
      "name": "graphql"
    },
    {
      "name": "meta"
    },
    {
      "name": "P2P"
    },
    {
      "description": "All functions related to the Contextionary.",
      "name": "contextionary-API"
    },
    {
      "description": "These operations enable manipulation of the schema in Weaviate schema.",
      "name": "schema"
    }
  ],
  "externalDocs": {
    "url": "https://github.com/weaviate/weaviate"
  }
}`))
}
